blob: 34f6daefda68aa21ec30c24bed1f89e8d46ac38d (
plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
program destroytest;
{$mode delphi}
type
TTest = class(TObject)
a: array[0..32767] of Integer;
procedure x;
procedure y;
procedure beforedestruction;override;
end;
var
testobj: TTest;
destroyed: boolean;
procedure TTest.beforedestruction;
begin
destroyed:=true;
inherited beforedestruction;
end;
procedure TTest.x;
begin
Destroy;
end;
procedure TTest.y;
begin
Self.Destroy;
end;
function GetUsedMemory: Integer;
begin
Result := GetHeapStatus.TotalAllocated;
end;
begin
testobj := TTest.create;
destroyed:=false;
testobj.x;
if not destroyed then
halt(1);
destroyed:=false;
testobj := TTest.create;
testobj.y;
if not destroyed then
halt(2);
end.
|