tb0228.pp 616 B

12345678910111213141516171819202122232425262728293031
  1. { Old file: tbs0267.pp }
  2. { parameters after methodpointer are wrong OK 0.99.12b (FK) }
  3. {$MODE objfpc}
  4. program procofobject_arg;
  5. type
  6. TProcOfObject = procedure of object;
  7. TTestClass = class
  8. procedure SomeMethod;
  9. end;
  10. procedure TTestClass.SomeMethod; begin end;
  11. // the following proc won't print i2 correctly
  12. procedure CrashProc(i1: Integer;method: TProcOfObject; i2: Integer);
  13. begin
  14. WriteLn('i1 is :', i1);
  15. WriteLn('i2 is :', i2);
  16. if i2<>456 then
  17. Halt(1);
  18. end;
  19. var
  20. instance: TTestClass;
  21. begin
  22. instance := TTestClass.Create;
  23. CrashProc(123, @instance.SomeMethod, 456);
  24. end.