Hi,
ich will mit Hilfe einer Funktion die oberste Node einer beliebigen SubNode finden. Was ich meine: ich habe eine Node, die sich einige Ebenen tiefer befinden, als die Hauptnode. Und diese Hauptnode will ich haben.
Also gehe ich immer weiter eine Ebene hoch, bis ich zu der entsprechenden Node kommen, deren Eigenschaft
dwMode der Daten auf 1 steht.
So zumindest die Theorie. Die Praxis sieht folgendermaßen aus:
Delphi-Quellcode:
function TfrmMain.GetProjectNode(aNode: PVirtualNode): PVirtualNode;
var
pNode: PVirtualNode;
pData: PTVData;
begin
pNode := aNode;
Result := nil;
while (true) do begin
pData := vstData.GetNodeData(pNode);
if (pData.dwMode = 1) or (pNode = nil) then Exit;
pNode := pNode.Parent;
end;
Result := pNode;
end;
Doch da Delphi grundsätzlich eine Abneigung gegen mich hat meint er das CPU-Fenster öffnen zu müssen um stillschweigend zu sagen, dass ich böse war.
Was mache ich falsch?
Chris
PS: Das ganze bezieht sich auf VirtualStringTree's.