[fpc-pascal] How to include Carbon.h?
Jonas Maebe
jonas.maebe at elis.ugent.be
Thu Apr 19 11:23:31 CEST 2007
On 19 apr 2007, at 11:01, BlueCat wrote:
> I'm using FPC 2.0.4 on MacOSX 1.4.9 PPC and trying to write a
> Pascal library
> that is externally called from REALbasic (Rb). But Rb needs
> Carbon.h header
> included in dylibs which are called by Rb programs.
>
> In C, it's easy:
>
> #include "Carbon/Carbon.h"
Including that header that does not add any code to your dynamic
library, so the actual requirement has to be something else. I know
someone who is using an FPC-compiled dynamic library in a (universal)
REALBasic program, so it is definitely possible.
> Unfortunately, I am not familier to C, so that, I want to write the
> library
> in FPC. How it can be achieved in FPC?
The closest equivalent is the FPCMacOSAll unit. But this will not add
any code to your program if you don't call any of its routines,
similarly to including Carbon/Carbon.h
> Could you give me some suggestions?
>
> I have used CarbonEventsCore.ppu, but found not sufficient enough.
> The
> application still crashes in certain circumstances.
The crashes are probably due to a bug in the 2.0.4 compiler, not due
to not including Carbon/Carbon.h or so. Try installing a snapshot:
ftp://ftp.freepascal.org/pub/fpc/snapshot/v21/powerpc-macosx/
fpc-2.1.1.powerpc-macosx.dmg
Further, make sure that all routines which you call from the
REALBasic program have the calling convention "mwpascal". You can
switch this calling convention on in all Pascal sources by adding
this at the top:
{$calling mwpascal}
Jonas
More information about the fpc-pascal
mailing list