Hi @ll,
habe die Fowardsuche gerade mal getestet bei mir funktioniert die, ich benutze wohl als Datentyp Objekte von ner Klasse, aber ich denke das dürfte ja nicht viel ändern. Hier mal der code, wobei er sich nicht großartig unterscheidet von generics.
Delphi-Quellcode:
procedure TForm1.FindDialog1Find(Sender: TObject);
var
node: PVirtualNode;
Data: PTreeData;
begin
VST.ClearSelection;
if (VST.FocusedNode=nil) then begin
node:=VST.GetFirst
end
else begin
node:=VST.FocusedNode;
while node<>nil do
begin
node:=VST.GetNext(node);
if node=nil then
begin
MessageDlg('ende', mtWarning, [mbOK], 0);
break;
end;
Data := VST.GetNodeData(Node);
if pos(FindDialog1.FindText,TTreeDataClass(Data.FObject).Titel) > 0 then
begin
VST.FocusedNode := Node;
VST.Selected[node]:=true;
break;
end;
end;
end;
end;
Mein Datentyp sieht dann so aus wie
hier im Tutorial darum hab ich auch kein Dach
Vielleicht hilfts ja, also irgendwas stimmt bei dir beim Zugriff auf den String nicht deines Datentyps
greetz Lun