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