ich habe folgendes VST-DataObject
TGVSTData = record
Gebiet: TGebiet;
end;
PGVSTData = ^TGVSTData;
Childs werden so hinzugefügt
// #########>- GVST-füllen -<###########################
procedure TSFF.AddGebietsKategorienToGVST;
var
i: integer;
begin
for I := 0 to 2 do
AddGebietToGVST(GVST.RootNode, Gebiete[i]);
for i := 3 to Gebiete.Count - 1 do
AddGebietToGVST(GVST.RootNode.FirstChild, Gebiete[i]);
Include(GVST.RootNode.FirstChild.States, vsExpanded); [***1***]
end;
// #########>- GVST: Eintrag hinzufügen -<###############
procedure TSFF.AddGebietToGVST(PN: PVirtualNode; Gebiet: TGebiet);
var
N: PVirtualNode;
D: PGVSTData;
begin
N := GVST.AddChild(PN, D);
D := GVST.GetNodeData(N);
D.Gebiet := Gebiet;
end;
NUR wenn ich [***1***] Expandiere, muß ichs in ...
procedure TSFF.FormDestroy(Sender: TObject);
begin
Exclude(GVST.RootNode.FirstChild.States, vsExpanded);
...
wieder DE-Expandieren, sonst bekomme ich
EIntOverFlow (Integerüberlauf)
in VirtualTrees.pas
Zeile 27959:
... if ParentVisible and IsEffectivelyVisible[Run] then
Dec(FVisibleCount);
Also, meist liegts ja an mir, also wo kann ich gefailed haben, damit ich so einen seltsamen workaround brauche?
Ahja, und kennt wer ein aktuelles VirtualTreeForum? wo ich vielleicht besser aufgehoben wäre?