Hi,
ich muß mich mal noch mit dem VirtualStringTree beschäftigen. Der Source bezieht sich auf das Tutorial bei Delphi-Source. Kann dort wegen zwielichtiger Gestalten leider nichts schreiben.
Hi Daniel : willkommen im Club.
Delphi-Quellcode:
type
PTreeData = ^TTreeData;
TTreeData = record
FCaption: String;
end;
function AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode;
ARecord: TTreeData): PVirtualNode;
var Data: PTreeData;
begin
Result:=AVST.AddChild(ANode);
Data:=AVST.GetNodeData(Result);
Avst.ValidateNode(Result, False);
Data^.FCaption:=ARecord.FCaption;
showmessage (ARecord.FCaption); // <-- richtige Anzeige
end;
procedure TForm1.GroupBox1Exit(Sender: TObject);
var
s : string;
I : Integer;
TreeData : TTreeData;
begin
DM.DS.close;
DM.DS.SelectSQL.Text := 'SELECT * FROM TABLE';
DM.DS.open;
VST.BeginUpdate;
VST.NodeDataSize:=SizeOf(TTreeData);
while not DM.DS.Eof do begin
s := LeseFeld (DM.DS,'NR');
TreeData.FCaption := s;
AddVSTStructure(VST,nil,TreeData);
DM.DS.Next;
end;
VST.EndUpdate;
end;
In dem TreeView steht nur "Node" drin, obwohl in der showmessage der richtige Wert angezeigt wird. Sieht einer, woran das liegt ?