Problème avec un TreeView

Résolu
oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005 - 27 juil. 2004 à 16:05
oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005 - 27 juil. 2004 à 16:57
J'ai un bug de fou, et j'aurais besoin de votre aide s'il vous plait.

- J'ai un treeview, dans une fonction d'ajout je lui rajoute des objets du même type.

- Dans une autre fonction lorsque j'essaye de récuperer un objet à un rang n dans ma treeview quelque soit n je récupere le même objet.

- Or dans ma fonction d'ajout si j'utilise le même code pour récuperer mon objet, j'ai le bon objet.

Voici mon code : Mon TreeView est BuddyList

type
TBuddy= Class
public URI: String;
Statut: String;

end;

procedure TForm1.OnBuddyAdd(var Msg: TMessage);  //Fonction de rajout de la buddylist
var
  ContactAjout : pchar;
  MyBuddy : TBuddy;

  tt : TBuddy;
begin
     ContactAjout:='';

        ContactAjout := GetBuddy_PresentityURI(Msg.WParam);
        MyBuddy.URI:=ContactAjout;

         BuddyList.Items.AddChildObject(nil, MyBuddy.URI,MyBuddy);
         BuddyList.Items.AlphaSort();

        //Ici c'est le code pour tester pour l'affichage qui affiche les bons objets
           {if BuddyList.Items.Count=3 then
           begin
           MonNoeud:=BuddyList.Items.Item[0];
           tt:= MonNoeud.Data;
           showmessage(tt.uri);
           MonNoeud:=BuddyList.Items.Item[1];
           tt:= MonNoeud.Data;
           showmessage(tt.uri);
           end;}

         end;
       end;
end;

procedure TForm1.AfficheBuddy();
var
  MonNoeud : TTreeNode;
  tt : TBuddy;
begin

//Les deux affichent le même message, or ils sont diffénts
tt := BuddyList.Items[0].Data;
showmessage(tt.URI);
tt := BuddyList.Items[1].Data;
showmessage(tt.URI);


Merci beaucoup pour votre aide

1 réponse

oberown Messages postés 88 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 5 juillet 2005
27 juil. 2004 à 16:57
Bon j'ai réussi à trouver mon erreur.
J'utilise mal le contructeur dans OnBuddyAdd il faut que je rajoute MyBuddy := TBuddy.Create;
3
Rejoignez-nous