Jonas,
No. He's using MacPas mode in FPC 2.5.1. In that mode, nested procedural
variables are supported (and also in ISO mode, and also in all other syntax
modes if you add {$modeswitch nestedprocvars}). The error message was caused by
a compiler bug.
This declares a regular procvar, while the original declaration declares a
nested procvar. Declaring it as a separate type would have to be done like this:
Type TMyProc Procedure(var y:myObject) is nested;
Note that you can assign both global and nested/local procedures to a nested procedural
variable (and also call both using such a procvar). And be careful when using a separate
"is nested" type, because then you can construct code that calls a nested
procedural variable outside the scope where it is valid (which will result in undefined
behaviour).
thanks for the explanation, I didn't know all this. I don't use nested
procedures as parameters, so from the error message I just assumed they
weren't allowed.
Cheers, A.
--
Alberto Narduzzi
ANSware Ltd.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal