Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#2

Re: FastMM und block modified after being freed

  Alt 27. Apr 2010, 11:57
Das bedeutet, (a) daß du die Fehlerprüfung von FastMM aktiviert hast
und (b) daß irgendwo ein Speicherbereich verändert wurde, nach dem der entsprechende Speicherblock (welcher an dieser Stelle lag) schon freigegeben wurde.

Quasi sowas in der Art:
Delphi-Quellcode:
var P: PInteger;

P := GetMem(10);
FreeMem(P);
P^ := 100;
FastMM gibt ja speicher nicht sofort an Windows zurück, weswegen es bei einem späteren Zugriff nicht zu einer Zugriffsverletzung kommt.

Uhrsache könnte auch ein Bufferoverrun sein
oder ein "fehlerhafter" Pointer, welcher "irgendwo" hinzeigt.

In deinem Fall könnte es auch sein, daß auf ein Objekt zugegriffen wird, welches schon freigegeben wurde. (der Speicherbereich des Objektes könnte ja dennoch existieren)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat