我在MFC扩展DLL中创建了一个导出函数ibrd,在这个函数中调用DLL中定义的对话框资源对象,部分代码如下:……
#define EQUIPAPI __declspec(dllexport)
……EQUIPAPI int ibrd()
{
// gpib_dlg.UpdateData(TRUE);// AFX_MANAGE_STATE(AfxGetStaticModuleState()); CGPIB_Simulation_Dlg gpib_dlg; gpib_dlg.DoModal();
gpib_dlg.m_Cshow = _T("0");
gpib_dlg.UpdateData(FALSE);
return 0;
}其中的m_Cshow是对话框上的文本编辑框对应的CString 类型的变量。当我在应用程序中调用函数ibrd(); 时,可以出现对话框,但是编辑框中不显示数字 0 。还出现了四个断言错误:wincore.cpp 4184和4191行
winocc.cpp 104行
dlgdata.cpp 44行请问一下高手这是怎么回事啊?如何解决呢?
#define EQUIPAPI __declspec(dllexport)
……EQUIPAPI int ibrd()
{
// gpib_dlg.UpdateData(TRUE);// AFX_MANAGE_STATE(AfxGetStaticModuleState()); CGPIB_Simulation_Dlg gpib_dlg; gpib_dlg.DoModal();
gpib_dlg.m_Cshow = _T("0");
gpib_dlg.UpdateData(FALSE);
return 0;
}其中的m_Cshow是对话框上的文本编辑框对应的CString 类型的变量。当我在应用程序中调用函数ibrd(); 时,可以出现对话框,但是编辑框中不显示数字 0 。还出现了四个断言错误:wincore.cpp 4184和4191行
winocc.cpp 104行
dlgdata.cpp 44行请问一下高手这是怎么回事啊?如何解决呢?
gpib_dlg.m_Cshow = _T("0");
gpib_dlg.DoModal();
DoModal完了以后,对话框就销毁了
------------------------------------------------这个要gpib_dlg.m_Cshow = _T("0");
gpib_dlg.DoModal();
这个不能注销
GPIB_Simulation_DLL error LNK2005: _DllMain@12 已经在 GPIB_Simulation_DLL.obj 中定义
GPIB_Simulation_DLL warning LNK4006: _DllMain@12 已在 GPIB_Simulation_DLL.obj 中定义;已忽略第二个定义
GPIB_Simulation_DLL fatal error LNK1169: 找到一个或多个多重定义的符号刚学DLL,被这些弄晕了,请高手们不吝赐教,不胜感激!!!
--------------------------------------
看错了,扩展的这个不要
#include "resource.h"
试试看
stdafx.h里面加resource.h
不过似乎问题和你的不一样