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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to