Dear listers and header converters,
I've realized by inspecting the FB-header "CarbonEventsCore" that has
been converted by Robert Purves that there is a more correct way to
do what I've said before.
******************************************************
Please don't...
... use variable definitions that differ from Apple's!
******************************************************
Here is an example from the Navigation-header:
Apple's header:
EXTERN_API_C( OSStatus )
NavCreateGetFileDialog(
const NavDialogCreationOptions * inOptions,
NavTypeListHandle inTypeList,
NavEventUPP inEventProc,
NavPreviewUPP inPreviewProc,
NavObjectFilterUPP inFilterProc,
void * inClientData,
NavDialogRef * outDialog);
------------------------------------------------------
FB's header (presently):
TOOLBOX FN NavCreateGetFileDialog (
NavDialogCreationOptions * inOptions, ¬
NavTypeListHandle inTypeList, ¬
proc inEventProc, ¬
proc inPreviewProc, ¬
proc inFilterProc, ¬
long * inClientData, ¬
NavDialogRef * outDialog) = OSStatus
------------------------------------------------------
Better FB header:
#DEFINE NavEventUPP AS PROC
#DEFINE NavPreviewUPP AS PROC
#DEFINE NavObjectFilterUPP AS PROC
TOOLBOX FN NavCreateGetFileDialog ( ¬
NavDialogCreationOptions * inOptions, ¬
NavTypeListHandle inTypeList, ¬
NavEventUPP inEventProc, ¬
NavPreviewUPP inPreviewProc, ¬
NavObjectFilterUPP inFilterProc, ¬
long * inClientData, ¬
NavDialogRef * outDialog) = OSStatus
------------------------------------------------------
Even better FB header:
#DEFINE void AS Long // perhaps
#DEFINE NavEventProcPtr AS Proc
#DEFINE NavPreviewProcPtr AS Proc
#DEFINE NavObjectFilterProcPtr AS Proc
#DEFINE NavEventUPP AS Pointer
#DEFINE NavPreviewUPP AS Pointer
#DEFINE NavObjectFilterUPP AS Pointer
TOOLBOX FN NewNavEventUPP( ¬
NavEventProcPtr userRoutine) = NavEventUPP
TOOLBOX FN NewNavPreviewUPP ( ¬
NavPreviewProcPtr userRoutine) = NavPreviewUPP
TOOLBOX FN NewNavObjectFilterUPP ( ¬
NavObjectFilterProcPtr userRoutine) = NavObjectFilterUPP
TOOLBOX FN NavCreateGetFileDialog ( ¬
NavDialogCreationOptions * inOptions, ¬
NavTypeListHandle inTypeList, ¬
NavEventUPP inEventProc, ¬
NavPreviewUPP inPreviewProc, ¬
NavObjectFilterUPP inFilterProc, ¬
void * inClientData, ¬
NavDialogRef * outDialog) = OSStatus
******************************************************
May the latter serve as a template for similar cases...
Best
--
Herbie
------------------------
<http://www.gluender.de>