- if(getImageDataDialog!=NULL){
- img = getImageDataDialog();
- gimmicknotfound = false;
+ if(getImageDataDialog!=NULL){
+ img = getImageDataDialog();
+ gimmickfound = true;
+ }
+ if(!FreeLibrary(gimmickhandle)){
+ std::cout<<"Error while releasing the handle creaImageIO2.dll"<<std::endl;
+ }
+ }
+ #else
+ void * gimmickhandle;
+ GETIMAGEDATADIALOG getImageDataDialog;
+ char * erreur;
+ int closingerror;
+ gimmickhandle = dlopen ("libcreaImageIO2.so", RTLD_LAZY);
+ if (! gimmickhandle) {
+ erreur = dlerror ();
+ std::cout<<erreur<<"imagehandle "<<gimmickhandle<<std::endl;
+ }else{
+ getImageDataDialog = (GETIMAGEDATADIALOG) dlsym (gimmickhandle, "getImageDataDialog");
+ if(!getImageDataDialog){
+ erreur = dlerror ();
+ std::cout<<erreur<<"getImageDataDialog "<<getImageDataDialog<<std::endl;
+ }else{
+ img = (*getImageDataDialog)();
+ gimmickfound = true;
+
+ }
+ /*dlclose returns 0 on success, non-zero on error*/
+ closingerror = dlclose(gimmickhandle);
+ if(closingerror!=0){
+ std::cout<<closingerror<<"error closing handle "<<gimmickhandle<<std::endl;
+ }else{
+ std::cout<<"handle released..."<<std::endl;
+ }