Komisch, wenn ich
NACH dem Dispose die Record-Daten abfrage, bekomme ich bei beiden Dispose-Arten ein jeweils anderes Ergebnis:
Hier werden im zweiten MessageDlg die Record-Daten weiterhin angezeigt:
Delphi-Quellcode:
MessageDlg(PNoteRec(TL.Items[j].Data)^.Caption, mtInformation, [mbOK], 0);
Dispose(TL.Items[j].Data);
MessageDlg(PNoteRec(TL.Items[j].Data)^.Caption, mtInformation, [mbOK], 0);
Und hier wird im zweiten MessageDlg gähnende Leere angezeigt:
Delphi-Quellcode:
MessageDlg(PNoteRec(TL.Items[j].Data)^.Caption, mtInformation, [mbOK], 0);
Dispose(PNoteRec(TL.Items[j].Data));
MessageDlg(PNoteRec(TL.Items[j].Data)^.Caption, mtInformation, [mbOK], 0);
Bei beiden Dispose-Arten entsteht jedoch durch den Zugriffsversuch auf die Record-Daten NACH dem Dispose kein (Zeiger-)Fehler, obwohl mit Dispose der Speicher bzw. der Zeiger auf den Speicher ja freigegeben worden sein müsste!?