tw9261.pp 527 B

1234567891011121314151617181920212223242526
  1. program tw9261;
  2. {$mode objfpc}
  3. type methodprocvar = function(): Boolean of object;
  4. procedure test_procedure(a1, a2, a3, a4, a5, a6: integer; mv: methodprocvar);
  5. begin
  6. with Tmethod(mv) do
  7. if (code<>codepointer($11111111)) or (data<>pointer($22222222)) then
  8. begin
  9. writeln('test failed');
  10. halt(1);
  11. end;
  12. end;
  13. var a:methodprocvar;
  14. begin
  15. with Tmethod(a) do
  16. begin
  17. code:=codepointer($11111111);
  18. data:=pointer($22222222);
  19. end;
  20. test_procedure(1, 2, 3, 4, 5, 6, a);
  21. end.