请教高手,有关动态链接库DLL导出和调用对话框类的问题!
我的问题是:第一步:在用规则DLL时编写了一个带有对话框类的DLL(用的是__declspec(dllexport)导出这一个对话框类),注:由于需要在外面对这个对话框类...
我的问题是:第一步:在用规则DLL 时编写了一个带有对话框类的DLL(用的是__declspec(dllexport)导出这一个对话框类),注:由于需要在外面对这个对话框类做一些操作,因而想避免使用导出调用对话框类函数的方法导出这个对话框类。第二步:在应用程序里面,我用的是隐式加载DLL的方法 问题:(1)DLL顺利通过编译并成功生成对应的DLL文件,并把caldlgdll.h, .lib, .dll文件复制到应用程序的工程中,编译连接时报错:e:\study\dll_study\recallcaldll\caldlgdll.h(23) : error C2065: 'IDD_DLL_CALDLG' : undeclared identifier。其中IDD_DLL_CALDLG是DLL中对话框资源的句柄,请问该怎么解决这个问题? (2)另外我还想问一下,调用DLL的C++类的时候不能用显示加载的方式吗?如果能,应该怎么用?还有就是怎么导出和加载DLL资源?
展开
展开全部
规则DLL的资源与应用程序的资源是独立的,好处是资源符号不会相互影响,例如DLL中有个100号的对话框,应用程序中也可以有100号对话框;缺点是不能简单在应用程序中直接使用DLL的资源,需要先调用AfxSetResourceHandle函数,将当前的资源句柄设置为DLL的Instance,显示完对话框后,再设置回应用程序的Instance。
像你这种使用,为啥不用MFC 扩展DLL?这种DLL可以将DLL和应用程序的资源合并,缺点正好和规则DLL相反,就是要规划好资源符号的数值,不可冲突。
像你这种使用,为啥不用MFC 扩展DLL?这种DLL可以将DLL和应用程序的资源合并,缺点正好和规则DLL相反,就是要规划好资源符号的数值,不可冲突。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询