I wrote: > Max Taylor wrote: >> Also, why the conversion casts ‘self’ “(long)( self )” into a (long) when it is actually defined as a (pointer) in the FB code. > Your declaration of toolbox MxSendI() no doubt holds the explanation and possible fix for the ugly casts. >> It uses a modified version of Bernie’s VAList stuff. I missed that. It seems there's a bug in FBtoC's treatment of arguments to variadic functions. Pointers are wrongly cast to (long). Fixed for the next release. I also shortened those global stack names. What you get now: >> ( gFBTlbxStk = 0, MxSendI( cmsgRelease, PSstrcpy( gFBTlbxStrStk[++gFBTlbxStk], "\pop" ), (long)( self ), (long)( super ) )); What you will get: (gFBTStkP = 0, MxSendI( cmsgRelease, PSstrcpy( gFBTStk[++gFBTStkP], "\pop" ), self, super )); Robert P.