Einzelnen Beitrag anzeigen

deadcantdance

Registriert seit: 25. Feb 2008
81 Beiträge
 
Delphi 2007 Professional
 
#1

Unterschiede TTreeView D5 und D2007

  Alt 7. Aug 2009, 11:22
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
  Mit Zitat antworten Zitat