voilà j'utilise VirtualStringTree de Soft Gems et j'ai un petit soucis. J'ai en fait 2 VirtualStringTree dans mon appli et j'aimerai qu'une node de l'un pointe sur les mêmes données qu'une node de l'autre.
Type
PNodeInfo2= ^TNodeInfo2;
TNodeInfo2 = record
OriginalTableName: string;
OriginalFieldName: string;
end;
procedure Toto(VT1:TVirtualStringTree; VT2:TVirtualStringTree);
var
ChildNode: PVirtualNode;
ChildNodeInfo: PNodeInfo2;
NewNode: PVirtualNode;
NewNodeInfo: PNodeInfo2;
begin
ChildNode:=VT1.AddChild(nil);
ChildNodeInfo:=VT1.GetNodeData(ChildNode);
ChildNodeInfo.OriginalTableName:='Table1';
ChildNodeInfo.OriginalFieldName:='Field1';
//j'indique ici le pointeur sur les infos de ChildNode
//afin que les 2 node pointent sur les mêmes données.
NewNode:=VT2.AddChild(nil,ChildNodeInfo);
//je vérifie si mes infos dans NewNode sont les mêmes que dans ChildNode
NewNodeInfo:=MyVT.GetNodeData(NewNode);
ShowMessage(NewNodeInfo.OriginalTableName);
//mais ça plante et ça ne me donne pas mon Table1
end;
est-ce que quelqu'un à une petite idée ?
merci d'avance.
Merci de tes petites précisions dont je tiendrais compte bien évidement.
En effet VST est excellent dès qu'on a compris le principe. cela fait un bon petit moment que
je l'utilise et que j'en suis content.
petit question subsidiaire pour ma culture personnelle, quelle différence y a t'il entre écrire
Data^.FDonnee1 et Data.FDonnee1 ? le ^ est il nécessaire / obligatoire.
Eh bien ce sont les conventions d'écritures pour les pointeurs, et là je ne serais pas le mieux placé pour te donner 'un cours'. il y à des tutos + ou - 'pointus' sur le sujet, et fait par des gens qui en comprennent toutes les subtilités, je te suggère de t'y référer.
Par contre, si tu as des soucis sur le virtualtreeview, je pourrais ss doute t'aider ...
Pointeur vers s'écrit
en delphi ^, ce qui équivaut à * du c.
c'est l'affectation de la valeur au poiteur ...
c'est obligatoire ds le sens ou tu utilises des pointeurs, je ne sais que te dire de plus ....