扩展动态连接库中包含对话框资源时,对话框类的.h文件会有(enum { IDD = IDD_DIALOG }),当在另外一个工程中使用该DLL时必须把动态连接库的对话框类的.h文件包含到工程中,这时候enum { IDD = IDD_DIALOG }会产生编译错误!系统提示:不认识的标示符。请问该如何使扩展动态连接库中可以使用对话框????
以及在工程中如何使用这个动态连接库!
以及在工程中如何使用这个动态连接库!
解决方案 »
- 关于如何获得窗口句柄
- 这个问题怎么解决Warning: destroying CMultiDocTemplate with 1 documents alive.
- 请教数字识别方面的书和资料
- 怎么设置 button 不出现立体感觉,就让它象个平的
- 新手初试动态库,郁闷中....
- 菜鸟提问:如何禁止双击标题栏最大化/恢复窗口?
- 用VC++如何获取当前的操作系统是E文版的还是中文版式的?请提示一下. 1
- 有谁对DirectShow 下的 Intel RTP filter(COM 组件)熟悉的吗?
- 关于TCP连接的Socket调用recv丢失消息的问题
- 关于注册表的一点问题?求助高手!!!
- 菜鸟问题,怎样将"your score 70 and passed"中的"70"赋给一个int型变量?
- 小问题:在sdk中,怎么一行一行的读写文件?
testDlg.obj : error LNK2001: unresolved external symbol "public: __thiscall CMyDialog::CMyDialog(class CWnd *)" (??0CMyDialog@@QAE@PAVCWnd@@@Z)
//: CDialog(CMyDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CMyDialog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}请看,我绝对没有删除构造函数!
我想知道,如果删除了CDialog(CMyDialog::IDD, pParent),对话框资源怎么和这个类管理起来?
我这里多谢了!
能看看你测试工程中包括的头文件吗? 你给出的是实现文件.
头文件的作用只是给出类数据的布局, 删除CMyDialog::IDD没什么不可以
#include "test.h"
#include "testDlg.h"
#include "MyDialog.h" //DLL中的对话框的头文件
COPY一个头文件, 修改、包含COPY的头文件
能不能发个Demo给我,我看有些问题在这里说不清楚,也许这个问题对你来说根本不是一个问题,可是我现在就是调不通!
所以还请你帮帮忙!
我的处理方法是这样的:
在应用里增加这个对话框资源,然后在你的dll里面包含这个头文件。就OK了。但是如果你的dll是要单独发布的,我就不知道该怎么办了。
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDialog dlg(pString,pLength);
dlg.DoModal();
不推荏导出DLL里的对话框类,不利于封装。
在扩展DLL中不能有CWINAPP的派生类(当然包括CDIALGO了)只能与用户程序中的CWINAPP的派生类进行交流。用户程序拥有消息循环。具体的请查看MSDN中索引《EXTENSION DLL》》另外如果你真的用DIALOG的话你可以使用正则DLL。要不然就写个WIN32DLL 同样可以实现。