Probleme Constructeur + collection

Probleme Constructeur + collection - Delphi/Pascal - Programmation

Marsh Posté le 24-05-2006 à 07:59:40    

Salut ;)
 
Je vous previens tout de suite, je débute sous Delphi (v6) et j'ai un peu de mal.. Malgré mes recherches sur developpez je reste bloqué.
Bon , j'ai créer une classe toute conne :
 

Code :
  1. unit Client_annuaire;
  2. (...)
  3. type
  4.    CClient = class
  5.    private
  6.       prenom: String;
  7.       nom: String;
  8.    public
  9.         constructor Create(AOwner : TComponent; wprenom: String; wnom: String);
  10.    end;
  11. implementation
  12.    constructor CClient.Create(AOwner : TComponent; wprenom: String; wnom: String);
  13.    begin
  14.        prenom := wprenom;
  15.        nom := wnom;
  16.    end;
  17. end.


 
Que j'utilise dans mon prog principal (pour l'instant 2 champs texte et un bouton "enregistrer" :

Code :
  1. procedure TForm2.img_bouton_saveClick(Sender: TObject);
  2. var
  3.      NouveauClient : CClient;
  4. begin
  5.      If txt_nom.Text <> '' then
  6.           NouveauClient.Create(txt_prenom.Text, txt_nom.Text)
  7.      else MessageBox(Form2.handle,'Veuillez renseigner le nom du nouveau client.','Erreur',MB_OK);
  8. end;


 
Le probleme est que Delphi me sort une erreur :

Code :
  1. Project1.exe raised exception class EaccessViolation with message 'Access Violation at adress 4444c2etc  in module Project1.exe. Write Of address 2312312. Process Stoped.


 
Où est le probleme? :( J'ai testé en virant le "AOwner : TComponent;" dans la description de la classe, c'est pareil. ya une histoire de "Self" a rajouté dans l'implementation?
 
 
Sinon, comment marche les Collections en delphi? mon objet la, j'aimerais l'inserer dans une collec (pour l'instant c'est que du String)
 
Merci beaucoup pour votre aide, je continue a chercher de mon coté.
 
 :hello:

Reply

Marsh Posté le 24-05-2006 à 07:59:40   

Reply

Marsh Posté le 24-05-2006 à 09:57:08    

NouveauClient.Create(txt_prenom.Text, txt_nom.Text)
 
plutot :          NouveauClient:= CClient.Create(txt_prenom.Text, txt_nom.Text)
 
Pour la 2eme question, je veux bien des eclaircies.. je patauge entre les TobjectList, les Tstringlist etc
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed