summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0228.pp
blob: fd16bbdd9e33cab18b162e7d8cfc6a6a10ce7a8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ Old file: tbs0267.pp }
{ parameters after methodpointer are wrong             OK 0.99.12b (FK) }

{$MODE objfpc}

program procofobject_arg;
type
  TProcOfObject = procedure of object;
  TTestClass = class
    procedure SomeMethod;
  end;

procedure TTestClass.SomeMethod; begin end;


// the following proc won't print i2 correctly

procedure CrashProc(i1: Integer;method: TProcOfObject; i2: Integer);
begin
  WriteLn('i1 is :', i1);
  WriteLn('i2 is :', i2);
  if i2<>456 then
    Halt(1);
end;

var
  instance: TTestClass;
begin
  instance := TTestClass.Create;
  CrashProc(123, @instance.SomeMethod, 456);
end.