Autor Beitrag
rushifell
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 306
Erhaltene Danke: 14



BeitragVerfasst: Do 19.04.18 18:01 
Hallo, ich benutze die Unit heaptrc.pas über die Projekteinstellungen, um Speicherlecks zu finden. In meiner Demo habe ich eine Form1 mit einem Button1. Wenn ich den Thread laufen lasse, kommt beim Beenden des Programms der Hinweis..

Zitat:
Heap dump by heaptrc unit
653 memory blocks allocated: ...
653 memory blocks freed: ...
0 unfreed memory blocks:0
True heap size: 655360
True free heap: 655248
Should be: 655360

Beende ich das Programm ohne den Thread laufen zu lassen kommt in den letzten beiden Zeilen folgendes:
Zitat:
True heap size 655360 (112 used in System startup)
True free heap: 655248


Ich verstehe das "Should be..." nicht. Hat das eine Bedeutung?


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
type
 TMyThread = class (TThread)
 protected
    procedure Execute; override;
 public
    constructor Create;
    destructor Destroy; override;
 end;
...

Var Form1: TForm1
    MyThread:TMyThread;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
 MyThread:=TMyThread.Create;
 MyThread.Start;
end;

Constructor TMyThread.Create;
begin
 FreeOnTerminate:=True;
 inherited Create(True);
end;

Destructor TMyThread.Destroy;
begin
 inherited Destroy;
end;

Procedure TMyThread.Execute;
begin
end;


Ich nutze Lazarus 1.4.2.