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