Hi,
Ich wollte grade wie in diesem Tutorial beschrieben Items in eine VST einfügen
http://www.dsdt.info/tutorials/virtualtreeview/ leider kommt dabei eine Zugriffs verletzung
Was mache ich nur falsch ?
Delphi-Quellcode:
type
TAI_TreeKind = (tkdic);
type
PAI_TreeItem = ^TAI_TreeItem;
TAI_TreeItem =record // meine daten
kind: TAI_TreeKind;
path: string[255];
self: string[255];
end;
// hier werden die items erstellt, bzw sollen erstellt werden
procedure TFEditorMain.TreeFilesExpanding(Sender: TBaseVirtualTree;
Node: PVirtualNode; var Allowed: Boolean);
var
slist: tstringlist;
i: integer;
rp: TAI_TreeItem;
begin
if node = htdocs then begin
TreeFiles.DeleteChildren(node);
slist:= tstringlist.Create;
slist:=Lister.listdirs(fhtdocs);
TreeFiles.BeginUpdate;
for i:=0 to slist.Count-1 do begin
rp.path:= lister.path+slist[i];
rp.self:= slist[i];
TreeFiles.NodeDataSize:=SizeOf(TAI_TreeItem);
AddVSTStructure(TreeFiles, node, rp);
end;
TreeFiles.EndUpdate;
end;
end;
// diese function ist aus dem tutorial
function TFEditorMain.AddVSTStructure(AVST: TCustomVirtualStringTree;
ANode: PVirtualNode; ARecord: TAI_TreeItem): PVirtualNode;
var
Data: PAI_TreeItem;
begin
Result:=AVST.AddChild(ANode);
Data:=AVST.GetNodeData(Result);
Avst.ValidateNode(Result, False);
Data^.kind:=ARecord.kind;
Data^.path:=ARecord.path;
Data^.self:=ARecord.self;
end;
// Die Zugriffs verletzung kommt schon beim Expandieren
thx, arbu