blob: c92e290aadeb0c57eef99a7281c8ea2b9059f2f7 (
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
|
{$mode delphi}
type
itest = interface(iunknown)
procedure Foo(); overload;
procedure Bar(); overload;
procedure Foo(x: integer); overload;
procedure Bar(x: integer); overload;
end;
ttest = class(tinterfacedobject, itest)
procedure Foo(); overload;
procedure Bar(); overload;
procedure Foo(x: integer); overload;
procedure Bar(x: integer); overload;
end;
var
i : integer;
err : boolean;
procedure ttest.Foo(); overload; begin writeln('#'); i:=1; end;
procedure ttest.Foo(x: integer); overload; begin writeln('##'); i:=2; end;
procedure ttest.Bar(); overload; begin writeln('###'); i:=3; end;
procedure ttest.Bar(x: integer); overload; begin writeln('####'); i:=4; end;
var
t: itest;
a: integer;
begin
t := ttest.create();
t.Foo();
if i<>1 then
err:=true;
t.Foo(a);
if i<>2 then
err:=true;
t.Bar();
if i<>3 then
err:=true;
t.Bar(a);
if i<>4 then
err:=true;
t := nil;
if err then
halt(1);
end.
|