Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: FastMM4 detected that a block has been modified after being freed

  Alt 12. Mär 2011, 23:46
Dein Code hat einen Speicherblock (=ein Objekt) verändert, nachdem es freigegeben wurde.
Also im Prinzip soetwas:
Delphi-Quellcode:
var
  x : TMyClass;
begin
  x := TMyClass.Create;
  x.MyProperty := 42;
  x.Free;
  // und jetzt kommt's
  x.MyProperty := 66;
end
Es könnte aber auch ein falsch programmierter Destruktor dahinterstecken:
Delphi-Quellcode:
destructor TMyClass.Destroy;
begin
  inherited;
  // Problem: nach Aufruf von inherited ist der Speicher freigegeben
  // daher ist es verboten, jetzt noch damit zu arbeiten
  FTimerInterval := 0;
end;
  Mit Zitat antworten Zitat