|
@@ -0,0 +1,26 @@
|
|
|
+program tw9261;
|
|
|
+
|
|
|
+{$mode objfpc}
|
|
|
+
|
|
|
+type methodprocvar = function(): Boolean of object;
|
|
|
+
|
|
|
+procedure test_procedure(a1, a2, a3, a4, a5, a6: integer; mv: methodprocvar);
|
|
|
+begin
|
|
|
+ with Tmethod(mv) do
|
|
|
+ if (code<>pointer($11111111)) or (data<>pointer($22222222)) then
|
|
|
+ begin
|
|
|
+ writeln('test failed');
|
|
|
+ halt(1);
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+var a:methodprocvar;
|
|
|
+
|
|
|
+begin
|
|
|
+ with Tmethod(a) do
|
|
|
+ begin
|
|
|
+ code:=pointer($11111111);
|
|
|
+ data:=pointer($22222222);
|
|
|
+ end;
|
|
|
+ test_procedure(1, 2, 3, 4, 5, 6, a);
|
|
|
+end.
|