Hallo,
ich kopiere je nach Auswahl Daten von einem VST in ein anderes VST(siehe Bild).
Delphi-Quellcode:
procedure TSourceButtonPanel.DataFromSourceToTarget(All : Boolean);
var
NE : TVTVirtualNodeEnumerator;
SourceData : PNodeData;
DestData : PNodeData;
begin
if (Assigned(FSourceView) and Assigned(FTargetView)) then
begin
if All then FSourceView.SelectAll(true);
NE := FSourceView.SelectedNodes(false).GetEnumerator;
while NE.MoveNext do
begin
SourceData := FSourceView.GetNodeData(Ne.Current);
DestData := FTargetView.GetNodeData(FTargetView.AddChild(nil));
CopyNodeData(DestData, SourceData);
end;
FSourceView.DeleteSelectedNodes;
end;
end;
Da die Datensätze im unteren VST angezeigt werden, scheint das ganze zu funktionieren.
Nur funktioniert das Speichern nicht
Delphi-Quellcode:
procedure TToolIniLoader.WriteFile;
var
Node : PVirtualNode;
Data : PNodeData;
begin
FEntryCount := 0;
FVST.BeginUpdate;
Node := FVST.GetFirst();
while Node <> nil do
begin
Data := FVST.GetNodeData(Node);
NodeDataToIni(Data^);
Node := FVST.GetNext(Node);
Inc(FEntryCount);
end;
FVST.EndUpdate;
end;
Data ist zwar ungleich
NIL, aber leer. Nachdem Zugriff sind im VST die Nodes zwar noch da, aber GetText bringt nur ''.
Kennt jemand das Problem und/oder die Lösung?