Einzelnen Beitrag anzeigen

IngoD7

Registriert seit: 17. Feb 2004
464 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Zugriffsverletzung bei TObjectlist.delete

  Alt 20. Mär 2007, 08:44
Zitat von ozz:
Ich dachte, ich gebe das Object an einer anderen Stelle schon frei. Finden konnte ich es bisher noch nicht. Kann es noch etwas anderes sein?
Auf die Schnelle überlegt: Eigentlich nicht.

In jedem Falle sollte dein TStreamlist-Destruktor die Liste FStreamObjectList selbst überhaupt auch mal freigeben. Diese Anforderung, gemeinsam mit der Tatsache, dass OwnsObjects TRUE ist, sollte folgendes ausreichen lassen:
Delphi-Quellcode:
destructor TStreamlist.destroy;
begin
    FStreamObjectList.Free;
    inherited Destroy;
end;
Ob dabei jettz noch der Fehler auftaucht, musst du mal gucken. Vielleicht ist die Auto-Freigabe der Liste auch so schlau und ignoriert irgendwie tote Referenzen (z.B. durch Abfangen der Execption). Das weiß ich jetzt nicht.

Zitat von ozz:
@Jelly
Du hast natürich Recht. Kleiner Schnitzer.
Soooo natürlich ist das nun auch wieder nicht. Warum sollte eine Ableitung einer Liste nicht noch eine weitere Liste besitzen?

Aber wenn das jetzt geändert wurde, sieht die Geschichte ja völlig anders aus.

@ozz
Du solltest nochmal den jetzt aktuellen Code einstellen.
  Mit Zitat antworten Zitat