mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 15:49:16 +02:00
no message
This commit is contained in:
parent
e4621276af
commit
bb9af5f761
75
tests/webtbs/tw2669.pp
Normal file
75
tests/webtbs/tw2669.pp
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
{ %version=1.1 }
|
||||||
|
{ Source provided for Free Pascal Bug Report 2669 }
|
||||||
|
{ Submitted by "marco" on 2003-09-06 }
|
||||||
|
{ e-mail: marco+web@freepascal.org }
|
||||||
|
|
||||||
|
{$mode Delphi}
|
||||||
|
Type
|
||||||
|
TPop3NextProc = procedure of object;
|
||||||
|
t1= class
|
||||||
|
procedure server; virtual;
|
||||||
|
procedure run; virtual;
|
||||||
|
procedure connect; virtual;
|
||||||
|
end;
|
||||||
|
|
||||||
|
t2=class
|
||||||
|
f1 : t1;
|
||||||
|
procedure exec(p:TPop3NextProc);
|
||||||
|
procedure callexec;
|
||||||
|
constructor create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure t1.server;
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('server');
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure t1.run;
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('run');
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure t1.connect;
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('connect');
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
constructor t2.create;
|
||||||
|
|
||||||
|
begin
|
||||||
|
inherited create;
|
||||||
|
f1:=t1.create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure t2.exec(p:TPop3NextProc);
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('in exec');
|
||||||
|
p;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure t2.callexec;
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('callexec');
|
||||||
|
exec(f1.server);
|
||||||
|
exec(f1.run);
|
||||||
|
exec(f1.connect);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
var c1 : t2;
|
||||||
|
|
||||||
|
begin
|
||||||
|
writeln('start');
|
||||||
|
c1:=t2.create;
|
||||||
|
writeln('after create');
|
||||||
|
c1.callexec;
|
||||||
|
writeln('end');
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user