用VC++ 做了一个动态链接库,函数原型为
void StrReturn(LPTSTR &param);
该函数用于返回一个字符串,请问在VC++中想用这种方式调用:HINSTANCE LibHandle =::LoadLibrary("mydll.dll");
typedef void (* myproc)(LPTSTR &)
myproc proc;
proc = (myproc) GetProcAddress(LibHandle, "StrReturn");
char  strRetMsg[4048];
(proc)(strRetMsg); 为什么编译不过呢?
谢谢

解决方案 »

  1.   

    LPTSTR p=strRetMsg;
    (proc)(p);
      

  2.   

    typedef void (* myproc)(LPTSTR &);
    HINSTANCE hDLL=NULL;
    pAddFav AddFavorites;
    hDLL==::LoadLibrary("mydll.dll");//加载动态链接库
    if (hIEDLL != NULL)
    {
         myproc proc;
          proc = (myproc) GetProcAddress(LibHandle, "StrReturn");
           if (proc != NULL)
    {
    char strRetMsg[4048];
                   (proc)(strRetMsg); 
    }
    FreeLibrary(hDLL);//卸载IEDll.dll文件
    }
    看返回值有没有为NULL,最好把错误信息给出来,