> Using control callback function with a control (a button)
> results in wrong
> parameter values when compiling to 386 (values are correct
> to ppc).
The default calling convention on non-i386 platforms is mostly the
same as the C calling convention. On i386, it's different for Delphi
compatibility. Add the "mwpascal;" modifier at the end of the function
declaration to get the same calling convention behaviour as with
MetroWerks Pascal (that's also the calling convention expected by the
declarations in the macosall unit).
By adding an explicit typecast you make it impossible for the
compiler to tell you that the routines are incompatible. Remove the
ControlActionProcPtr typecast, and if you are using MacPas mode then
also remove the "@". The compiler will then give an error if the
callback's signature is wrong, and it will also print the signature of
the expected type.