fpc/tests/tbs/tb0477.pp

40 lines
432 B
ObjectPascal

{$mode delphi}
type
TProc = procedure of object;
TTest = class
public
proc: TProc;
constructor Create;
procedure foo;
procedure bar;
end;
constructor TTest.Create;
begin
inherited;
proc := nil;
end;
procedure TTest.foo;
begin
writeln('foo');
end;
procedure TTest.bar;
begin
if @proc <> nil then proc;
end;
var
t: TTest;
begin
t := TTest.Create;
t.proc := t.foo;
t.bar;
t.Free;
end.