mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 13:19:12 +02:00
no message
This commit is contained in:
parent
36bcc2defa
commit
02979451d1
55
tests/webtbs/tw3411.pp
Normal file
55
tests/webtbs/tw3411.pp
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{ Source provided for Free Pascal Bug Report 3411 }
|
||||||
|
{ Submitted by "Dean Zobec" on 2004-11-28 }
|
||||||
|
{ e-mail: dezobec@tin.it }
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
{$interfaces com}
|
||||||
|
program interfaceleak;
|
||||||
|
// compile with option -ghl
|
||||||
|
type
|
||||||
|
|
||||||
|
IMoney = interface
|
||||||
|
['{AAD734A1-6F35-D911-9C73-C6AC7996EDD0}']
|
||||||
|
function Add(aMoney: IMoney): IMoney;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TMoney = class(TInterfacedObject, IMoney)
|
||||||
|
private
|
||||||
|
FAmount: Int64;
|
||||||
|
FCurrencyUnit: string;
|
||||||
|
public
|
||||||
|
function Add(aMoney: IMoney): IMoney;
|
||||||
|
constructor Create(aAmount: int64;
|
||||||
|
aUnit: string);
|
||||||
|
destructor Destroy; override;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMoney.Add(aMoney: IMoney): IMoney;
|
||||||
|
begin
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
constructor TMoney.Create(aAmount: int64;
|
||||||
|
aUnit: string);
|
||||||
|
begin
|
||||||
|
Inherited Create;
|
||||||
|
FAmount := aAmount;
|
||||||
|
FCurrencyUnit := aUnit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TMoney.Destroy;
|
||||||
|
begin
|
||||||
|
FCurrencyUnit := '';
|
||||||
|
writeln('Destroyed');
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TestLeak;
|
||||||
|
var
|
||||||
|
a: IMoney;
|
||||||
|
begin
|
||||||
|
a := TMoney.Create(12, 'EUR');
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
TestLeak;
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user