![]() |
Main Page
Class Hierarchy
Alphabetical List
Compound List
File List
Compound Members
![]() |
Go to the source code of this file.
Namespaces | |
namespace | FXEX |
Defines | |
#define | FXDLL_METHOD(returntype, funcname, params, constness) |
#define | FXDLL_FUNCTION(fxdllpointer, returntype, funcname, params, constness) |
|
Value: typedef returntype (CALLBACK* functype_##funcname) params constness; \ functype_##funcname dll_##funcname=NULL; \ FXbool isLoaded_##funcname=FALSE;\ returntype funcname params { \ if (!getHandle()) return (returntype)NULL; \ if (!isLoaded_##funcname) { \ dll_##funcname= (functype_##funcname)getFunction(#funcname); \ if (dll_##funcname == NULL) return (returntype)NULL; \ isLoaded_##funcname = TRUE;\ } \ return (dll_##funcname)(params); \ } This implementation uses the method parameters: (FXint,void*) or () eg: FXDLL_METHOD(FXint,libraryMethod,(void *data,FXint size),const); or: FXDLL_METHOD(FXString,libraryMethod,(),); |
|
Value: typedef returntype (CALLBACK* functype_##funcname) params constness; \ functype_##funcname dll_##funcname=NULL; \ FXbool isLoaded_##funcname=FALSE;\ returntype funcname params { \ if (!fxdllpointer->getHandle()) return (returntype)NULL; \ if (!isLoaded_##funcname) { \ dll_##funcname= (functype_##funcname)fxdllpointer->getFunction(#funcname); \ if (dll_##funcname == NULL) return (returntype)NULL; \ isLoaded_##funcname = TRUE;\ } \ return (dll_##funcname)(params); \ } This implementation uses the function parameters : (FXint,void*) or () eg: FXDLL_FUNCTION(dllp,FXint,libraryFunction,(void *data,FXint size),const); or: FXDLL_FUNCTION(pointer_to_FXDLL,FXbool,libraryFunction,(FXString s),); |