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
 
#12

Re: Finden einer Node

  Alt 11. Jan 2004, 13:42
Hi Jens,
so geht es natürlich auch.
Habe es jetzt aber so ähnlich, wie mirage gemacht.

Aber jetzt gibt es ein anderes Problem:
ich versuche eine Listnode zu finden. Das ist eine Node, die sich eine "Etage" tiefer als das Projekt befindet. Das Problem ist, dass es von diesen Listnodes mehrere gibt. Alle haben eine andere Beschriftung. Ich habe mir dafür folgende Funktion gebastelt:
Delphi-Quellcode:
function TfrmMain.GetListNode(Node: PVirtualNode; Caption: String): PVirtualNode;
var
  pData: PTVData;
begin
  if vstData.GetNodeLevel(Node) = 1 then begin
    pData := vstData.GetNodeData(Node);
    if pData.szCaption = Caption then
      Result := Node // <-- hier
    else
      GetListNode(Node.NextSibling, Caption);
  end else begin
    if vstData.GetNodeLevel(Node) < 1 then
      GetListNode(Node.FirstChild, Caption)
    else
      GetListNode(Node.Parent, Caption);
  end;
  Result := Node;
end;
Das Problem ist nun aber, dass auf die markierte Stelle durch den Compilier nie zugegriffen wird. Wieso? Und ist irgendwo ein Fehler? Denn es öffnet sich zwar nicht das CPU-Fenster, aber dafür scheint der Rückgabewert lt. Delphi nil zu sein.

Chris
  Mit Zitat antworten Zitat