ich glaub echt ich steh irgendwie aufm schlauch, hier mal mein code:
Delphi-Quellcode:
type TTreeDataClass = class
private FTestStr1: String;
FTestint: Integer;
published property TestStr1: String read FTestStr1 write FTestStr1;
property TestInt: Integer read FTestInt write FTestInt;
end;
type PTreeData = ^TTreeData; TTreeData = record FObject : TObject; end;
procedure TGeoDlg.Button1Click(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(srcsearch.text,TTreeDataClass(Data.FObject).FTestStr1) > 0 then //srcsearch.text = editfeld = suchwort
begin
VST.FocusedNode := Node;
VST.Selected[node]:=true;
break;
end;
end;
end;
end;
Ich nimm den code,geb im edi feld (srcsearch.text) ein wort ein und er macht überhaupt nix. mach ich ein paar Nodes auf und klick ein node an und such nochmal, kommt wieder an der POS stelle eine zugrifssverletzung