@@ -0,0 +1,39 @@
+{$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;
+ writeln('foo');
+procedure TTest.bar;
+ if @proc <> nil then proc;
+var
+ t: TTest;
+ t := TTest.Create;
+ t.proc := t.foo;
+ t.bar;
+ t.Free;
+end.