void CUseDlg::OnButton1()
{if (GetModuleHandle( "E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll" ) != NULL)
{
return;
}
DllShow Dlg;
HINSTANCE hinstDll;
HINSTANCE hi;
hinstDll = LoadLibrary("E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll");
Dlg =
(DllShow) GetProcAddress(hinstDll,
"ShowDlg");
CString string = "yang";
Dlg(xu);
}这是我调用DLL的代码 如果我在最后一行用FREELIBRARY 就会出现错误 但如果我不用 if (GetModuleHandle( "E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll" ) != NULL)
{
return;
}
就没用了(好象DLL没有释放) 请问怎么解决
{if (GetModuleHandle( "E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll" ) != NULL)
{
return;
}
DllShow Dlg;
HINSTANCE hinstDll;
HINSTANCE hi;
hinstDll = LoadLibrary("E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll");
Dlg =
(DllShow) GetProcAddress(hinstDll,
"ShowDlg");
CString string = "yang";
Dlg(xu);
}这是我调用DLL的代码 如果我在最后一行用FREELIBRARY 就会出现错误 但如果我不用 if (GetModuleHandle( "E:\\新建文件夹\\vc\\dll5\\Debug\\dll5.dll" ) != NULL)
{
return;
}
就没用了(好象DLL没有释放) 请问怎么解决
解决方案 »
- 请教下PostThreadMessage/PostMessage发送的消息其响应顺序是否和投递顺序一样
- 创建进程?
- 为什么new了可以不delete
- 请VsirSoft来这里
- 关于vs 2008 中MFC 的xp风格问题
- Office自动化编程问题,朋友们都进来帮帮忙...
- 如何做一个纯资源的dll,并且如何在exe中使用这个dll中的资源?谢谢了
- 为什么不能添加Method了?
- 旋转矩形后,中心坐标会改变,求解答。
- IHTMLDocument2的get_cookie为什么 得到不到cookie
- 程序运行过程出现“f:\capfile\11866572\capfile.avi中包含无效路径”请问是何缘故,如何解决?
- 想在程序界面中实现这么一类按钮:包括UP,MOVE,DOWN,SELECTED,DISABLED几种状态,跟界面的背景图片无缝集成,怎么做?
但如果我不FREE 这个DLL就老是在内存中 即使我的DLG(XU)的那个框消失了 新的对话框依然不能出现 其实你回答过我的问题 我的问题还是以前的那个 没解决的
就是想让DLL的对话框只出现一次 如果消失就可以再次出现 但如果现在DLL里面的对话框已经存在就让它激活
调用了LoadLibrary就把它置为TRUE,
下次再进来的时候判断一下m_bloadlib,如果为
TRUE,直接就GetProcAddress
最后在你析构的时候判断一下m_bloadlib,如果为TRUE
调用FreeLibrary
FreeLibrary();
AFX_MANAGE_STATE(AfxGetStaticModuleState());
xu = new CDialogDll; //MessageBox(NULL,string->GetBuffer(0),string->GetBuffer(0),MB_OK);
xu->Create(IDD_DIALOG1);//非模态
xu->ShowWindow(SW_SHOW);
}
谁能给个代码算了我实在是不清楚 麻烦各位了