Thema: Delphi free erzeugt Fehler

Einzelnen Beitrag anzeigen

fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#1

free erzeugt Fehler

  Alt 11. Jul 2010, 14:24
Hallo zusammen,
ich habe da ein Problem mit der free Methode:


Delphi-Quellcode:
...
levels[3] := levels[1];
...



destructor TSpielverwalter.Destroy;
var i: integer;
begin

  for i := 0 to high(levels) do
     levels[i].free;


  inherited;
end;

Wenn die Schleife jetzt bei 3 ankommt, gibt's einen Fehler, nämlich "Erste Gelegenheit für Exception bei $758EB727. Exception-Klasse EInvalidPointer mit Meldung 'Ungültige Zeigeroperation'. Prozess SpielOGLProject1.exe (972)"


Das ganze passiert, weil der Speicherplatz schon bei levels[1] feigegeben wird; das habe ich verstanden, nur habe ich keine Idee, wie ich das Problem ordentlich umgehen könnte
  Mit Zitat antworten Zitat