diff --git a/tests/test/testpvar.pp b/tests/test/testpvar.pp index 4aa0b931e4..b7e053dc1f 100644 --- a/tests/test/testpvar.pp +++ b/tests/test/testpvar.pp @@ -9,6 +9,12 @@ uses dpmiexcp; {$endif go32v2} +Type + TMyRecord = Record + MyProc1,MyProc2 : Procedure(l : longint); + MyVar : longint; + end; + procedure do_error(i : longint); begin @@ -79,8 +85,18 @@ type globalvar:=l; end; + procedure testproc(l : longint); + + begin + globalvar:=l; + end; + const constmethodaddr : pointer = @to1.test2; + MyRecord : TMyRecord = ( + MyProc1 : TestProc; + MyProc2 : @TestProc; + ); var o1 : to1; @@ -88,6 +104,17 @@ var p : procedure(l : longint) of object; begin + { Simple procedure variables } + writeln('Procedure variables'); + globalvar:=0; + MyRecord.MyProc1(1234); + if globalvar<>1234 then + do_error(2000); + globalvar:=0; + MyRecord.MyProc2(4321); + if globalvar<>4321 then + do_error(2001); + writeln('Ok'); { } { Procedures of objects } { } @@ -114,12 +141,15 @@ begin globalvar:=0; callmethodparam(@o1,constmethodaddr,34); if globalvar<>34 then - do_error(1001); + do_error(1001); writeln('Ok'); end. { $Log$ - Revision 1.1 1999-12-02 17:37:45 peter + Revision 1.2 2000-04-02 09:06:55 florian + *** empty log message *** + + Revision 1.1 1999/12/02 17:37:45 peter * moved *.pp into subdirs * fpcmaked