bug0267.pp 511 B

1234567891011121314151617181920212223242526
  1. {$MODE objfpc}
  2. program procofobject_arg;
  3. type
  4. TProcOfObject = procedure of object;
  5. TTestClass = class
  6. procedure SomeMethod;
  7. end;
  8. procedure TTestClass.SomeMethod; begin end;
  9. // the following proc won't print i2 correctly
  10. procedure CrashProc(i1: Integer;method: TProcOfObject; i2: Integer);
  11. begin
  12. WriteLn('i1 is :', i1);
  13. WriteLn('i2 is :', i2);
  14. end;
  15. var
  16. instance: TTestClass;
  17. begin
  18. instance := TTestClass.Create;
  19. CrashProc(123, @instance.SomeMethod, 456);
  20. end.