IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Affectation de string.


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 145
    Points
    145
    Par défaut Affectation de string.
    Bonjour,


    Je suis actuellement en train de programmer un logiciel en Delphi et j'ai un souci que je n'arrive pas à résoudre. J'ai déclaré un nouveau type ObjetUn avec parmi ses champs, un champ FContenu de type string. Pour créer une nouvelle instance d'ObjetUn, je vais chercher dans une base de données les informations nécessaires et je les passe au constructeur. Cependant, au moment de l'affectation de la nouvelle valeur de Fcontenu, j'ai le message "Access violation at address ..." qui apparaît.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    type TFluxRSS = class
        FidObj: Integer;
        FdateObj: TDateTime;
        Fcontenu: string;
     
    public
        constructor Create(idObj: integer; dateObj: TDateTime; contenu: string);
     
    end;
    et le constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    constructor ObjetUn.Create(idObj: integer; dateObj: TDateTime; contenu: string);
    begin
      FidObj := idObj;
      FdateObj := dateObj;
      Fcontenu := contenu;  //La ligne qui pose problème
    end;
    Et le constructeur est appelé de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Titre := Query.FieldByName('titre').AsString;
            DatePubli := Query.FieldByName('date_publication').AsDateTime;
            IdInfo := Query.FieldByName('id_info').AsInteger;
            ObjetUn.Create(IdInfo, DatePubli, Titre);
    Sachant que j'ai essayé en remplaçant Titre par un string quelconque, en utilisant un setContenu dans le constructeur, rien n'y fait.

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;

    ton query est fermé faut ajouter :


  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je vois d'une part une classe qui s'appelle TFluxRSS, puis d'autre part un constructeur d'une autre classe ObjetUn.

    Est-ce une erreur de copier/coller ?

    Ensuite la création de ton objet n'est pas correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ObjetUn.Create(IdInfo, DatePubli, Titre);
    Ce devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var
      ObjetUn: TFluxRSS;
    begin
      ObjetUn := TFluxRSS.Create(IdInfo, DatePubli, Titre);
      //...
    end;
    @+ Claudius

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 145
    Points
    145
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    Salut;

    ton query est fermé faut ajouter :

    Non, il était bien ouvert, mais j'ai essayé de garder que ce qui semblait poser problème dans le code.

    Citation Envoyé par Cl@udius Voir le message
    Salut

    Je vois d'une part une classe qui s'appelle TFluxRSS, puis d'autre part un constructeur d'une autre classe ObjetUn.

    Est-ce une erreur de copier/coller ?
    Oui, là aussi, une petite erreur de c/c. J'avais voulu simplifier le code mais j'aurais peut-être pas du

    Citation Envoyé par Cl@udius Voir le message
    Ensuite la création de ton objet n'est pas correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ObjetUn.Create(IdInfo, DatePubli, Titre);
    Ce devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var
      ObjetUn: TFluxRSS;
    begin
      ObjetUn := TFluxRSS.Create(IdInfo, DatePubli, Titre);
      //...
    end;
    @+ Claudius
    Effectivement, le problème était là. Je m'étais entêté à croire que le problème venait de l'affectation de 'contenu' et omis de regarder plus en amont.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affectation Char String
    Par smail21 dans le forum Langage
    Réponses: 2
    Dernier message: 26/08/2007, 01h00
  2. affectation String et Record
    Par jdavid dans le forum Langage
    Réponses: 19
    Dernier message: 10/08/2007, 17h43
  3. Affectation de String dans un tableau ?
    Par debie1108 dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 08/11/2006, 10h19
  4. [VB.NET]SourceGrid et affectation de valeurs dans une String
    Par Bourbaky dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/03/2006, 21h41
  5. affecter l' hexa d'un nombre a un string
    Par sorari dans le forum SL & STL
    Réponses: 2
    Dernier message: 12/05/2005, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo