Hi,
ich versuche gerade ein Delphi 5-Projekt nach Delphi 2007 zu migrieren. Das klappt soweit ganz gut, nur beim TreeView gibt's einige Probleme. Der Code ist bisher immer fehlerfrei gelaufen, allerdings gibt's nun beim Löschen des Root-Knotens eine
Exception "ungültige Zeigeroperation".
Hier mal ein wenig Code:
Einfügen des Root-Knotens:
Delphi-Quellcode:
var
Data : pABCNodeData;
Root : TTreeNode
begin
...
Items.Clear;
New(Data);
Data^.ID := 1;
Data^.Typ := 2;
Root := Items.AddChildObject( NIL, 'Root-Knoten', Data);
...
end;
NodeDeletion:
Delphi-Quellcode:
if assigned(Node)
then begin
if assigned(Node.Data)
then begin
dispose(pABCNodeData(Node.Data));
// hier kommt die Exception
Node.Data :=
nil;
end;
end;
Hier noch der Record:
Delphi-Quellcode:
TABCNodeData = record
ID : integer;
Typ : integer;
end;
pABCNodeData = ^TABCNodeData;
Sieht von Euch hier jemand einen Fehler?
Gruß,
deadcantdance