Guten Morgen,
Ich benutze eine cxDbTreelist-Komponente um eine
Access-Datenbank strukturiert darzustellen. Die Aufgabe erfordert nun das auch neue Nodes im laufenden Programm erzeugt werden können. Aus der beiliegenden Demo werde ich nicht schlau. Wenn ich eine neue Node erzeuge mit dem Programm text den ich bereits habe erscheint folgender Fehler:
Im Projekt PPlaner.exe ist eine
Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00412F21 in Modul 'PPlaner.exe'. Lesen von Adresse 00000058' aufgetreten.
Delphi-Quellcode:
Procedure Tform1.InsertNode(ParentId: Integer);
Var Feld : TField;
Dataset : TDataset;
begin
Dataset := cxDbtreelist1.DataController.DataSet;
dataset.DisableControls;
try
Feld := Dataset.FindField(cxdbTreelist1.datacontroller.ParentField);
if Assigned(Feld) then
begin
Dataset.Insert;
Feld.Value := ParentID;
end;
finally
Dataset.EnableControls;
end;
end;
Delphi-Quellcode:
procedure TForm1.NeueAufgabe1Click(Sender: TObject);
begin
InsertNode (FHitnode.ParentValue);
end;
Was habe ich vergessen/übersehen? Werde seit einer Stunde nicht schlauer.
Grüße Christian