Einzelnen Beitrag anzeigen

Int3g3r

Registriert seit: 28. Nov 2018
Ort: Schweiz
118 Beiträge
 
Delphi 10.3 Rio
 
#1

Form close - EINvalidPointer

  Alt 10. Apr 2019, 09:14
Guten Tag,

Ich verwende das erste mal eine TObjectList. Leider bekomme ich nun beim close; des Forms eine exception: EInvalidPointer 'Ungültige zeigeroperation'.

Delphi-Quellcode:
// unit System;
procedure TObject.FreeInstance;
begin
  CleanupInstance;
  _FreeMem(Pointer(Self)); // <- Hier wird die exception ausgelöst.
end;
Im Anhang befindet sich der Source.
close; <- Zeile 292

Programmbeschreibung:

Anhand einer Mitarbeiter Tabelle erstelle ich Frames. Für jeden Mitarbeiter erzeuge ich ein Frame, dies füge ich einer TObjectList(PersonList) hinzu. Der Owner bei der TObjectList ist auf true.

In der Mitarbeiter Tabelle habe ich Aktive und nicht Aktive Mitarbeiter. Wenn alle Mitarbeiter auf Aktiv sind kommt kein Pointer-Fehler. Sobald ich aber ein Mitarbeiter deaktiviere kommt beim close der Pointer-Fehler. Ob ich das Free am ende mache oder nicht hat keinen einfluss auf die Exception

Ich habe nun mehrmals die TObjectList mit Breaktpoints beobachtet. Ich habe die korrekte Anzahl an Objekten in dieser Liste. Daher verstehe ich nicht warum ich ein Pointerfehler bekomme.

Mfg Int3g3r
Angehängte Dateien
Dateityp: pas form_Ansicht.pas (8,7 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat