mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-24 09:39:11 +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