예제 #1
0
logical FunctLink :: SetFunctionPtr (DictionaryHandle dicthdl, char *co_type, char *fname, logical check_opt )
{
  Dictionary             *dictptr = NULL;
  char                    dll_path[256];
  char                    dllname[65];
  char                    string[129];
  logical                 term = NO;
BEGINSEQ
  strcat(strcpy(dllname,"_if_"),(gvtxbts(string,co_type,ID_SIZE)));
  
  if ( dicthdl.IsOpened() )
    dictptr = dicthdl.get_dictionary();
  
  dictptr->GetDLLPath(dll_path,dllname);
//  if ( filchck(dll_path,'F') )                       ERROR

//  if ( !(*((void **)&flnkfct) = DLLHandle()->GetFunctionPtr(dll_path,fname)) )
//  if ( !(*((void **)&flnkcfct) = DLLHandle()->GetFunctionPtr(dll_path,fname)) )
  if ( !(flnkcfct = (CCTP)DLLHandle()->GetFunctionPtr(dll_path,fname,check_opt)) )
                                                     ERROR

RECOVER
  term = YES;
ENDSEQ
  return(term);
}