Ich habe eine ziemlich umfangreiche Multitasking-App. Irgendwo habe ich 28 Bytes verloren. Das Programm stört das nicht wirklich, außer natürlich ich beende es im Debug-Modus, dann gibt es Mecker vom HeapTrc.
Ich suche jetzt schon Tage nach dem Problem, und finde es nicht.
Dann hatte ich folgende Idee, die als Testaufbau funktioniert: ich ersetze TObject durch ein eigenes TObject, welches mitschreibt was created und destroyed wird, und welches das ursprüngliche TObject kapselt:
Code: Alles auswählen
unit Unit1;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils;
type
{ TObject }
TObject = class(System.TObject)
public
constructor Create;
destructor Destroy; override;
end;
implementation
{ TObject }
constructor TObject.Create;
begin
inherited Create;
writeln('Object created: ' + self.ClassName);
end;
destructor TObject.Destroy;
begin
writeln('Object destroyed: ' + self.ClassName);
inherited Destroy;
end;
end.
Code: Alles auswählen
program Project1;
uses
Unit1;
type
TTestObject = class(TObject)
end;
var
TC: TTestObject;
begin
TC := TTestObject.Create;
TC.Free;
Readln;
end.
Armin.