Thema: Delphi Finden einer Node

Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Finden einer Node

  Alt 7. Jan 2004, 16:59
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.
  Mit Zitat antworten Zitat