Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#12

Re: Dispose: Pointer oder Object?

  Alt 4. Feb 2009, 08:35
OnDelete würde doch auch reichen?

Delphi-Quellcode:
// TreeView.OnDeletion
Procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
  Begin
    If Assigned(Node.Data) Then Dispose(PNoteRec(Node.Data));
  End;

New(NoteRecPtr);
NoteRecPtr.Caption := 'XYZ';
NoteRecPtr.ID := 'XYZ';
NewNode := TV.Items.AddChildObject(TV.Items[0], 'XYZ', NoteRecPtr);

oder man überläßt die Speicherverwaltung komplett dem TreeView
Delphi-Quellcode:
// TreeView.OnAddition
Procedure TForm1.TreeView1Addition(Sender: TObject; Node: TTreeNode);
  Begin
    New(PNoteRec(Node.Data));
  End;

// TreeView.OnDeletion
Procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
  Begin
    Dispose(PNoteRec(Node.Data));
  End;

NewNode := TV.Items.AddChild(TV.Items[0], 'XYZ');
PNoteRec(NewNode.Data).Caption := 'XYZ';
PNoteRec(NewNode.Data).ID := 'XYZ';
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat