Thank you very much for your help.

Regards
Francesco

----Messaggio originale----
Da: jonas.ma...@elis.ugent.be
Data: 06/09/2010 18.13
A: "fpanas...@tiscali.it"<fpanas...@tiscali.it>, "FPC-Pascal users 
discussions"<fpc-pascal@lists.freepascal.org>
Ogg: Re: [fpc-pascal] Mac osx callback functions parameters: wrong 
values  in 386 mode.


On 06 Sep 2010, at 17:21, fpanas...@tiscali.it wrote:

> Using control callback function with a control (a button) 
apparently 
> results in wrong 
> parameter values when compiling to 386 (values are correct 
compiling 
> 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).

>    lControlActionUPP:= NewControlActionUPP(ControlActionProcPtr
> (@myActionProc));

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.


Jonas_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal





Risparmia con Tutto Incluso Light: telefono + adsl 8 mega a soli 19,95 € al 
mese per un anno!SCONTO DI 120 EURO! 
http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso_light/?WT.mc_id=01fw
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to