毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

接口函数extern "C++" __declspec(dllexport) CForm GetFomInfor(void) 中使用该变量会提示“m_fmForm”: 未声明的标识符

更新时间:2012-8-20:  来源:毕业论文

我在动态链接库中定义了一个自定义类CForm (该类在EXE程序中也有创建),并在CFormInforDll.h文件中定义了该类的变量m_fmForm
protected:
  CForm m_fmForm;
在BOOL CFormInforDll::InitInstance()对m_fmForm进行初始化。
为什么在接口函数extern "C++" __declspec(dllexport) CForm GetFomInfor(void) 中使用该变量会提示“m_fmForm”: 未声明的标识符。
另外还有两个疑问:
1、如果我在BOOL CFormInforDll::InitInstance()对m_fmForm进行赋值,那么调用接口函数 GetFomInfor(void)所取得的m_fmForm是否是已经赋过值的变量?
2、这种返回自定义类型的DLL,是否是需要创建扩展的MFC动态链接库?
 
你的建工程是用的MFC扩展DLL么?
要用CXXX系列的类都需要扩展DLL的

另外extern "C++" 真的有这种??我怎么只见过extern “C”啊
 
我生成的是常规MFC动态链接库(非扩展)。CFormInforDll(不好意思,我发帖子的时候写错了,应该是CCreatFormDllApp类)是自动生成的APP类,不是我自己需要导出的类,我需要导出的是这个功能:CForm GetFomInfor(void)。代码如下:
[code=C/C++][/code]class CCreatFormDllApp : public CWinApp
{
public:
CCreatFormDllApp();
// 重写
public:
virtual BOOL InitInstance();

protected:
static CForm m_fmForm; 

DECLARE_MESSAGE_MAP()
};
cpp
extern "C++" __declspec(dllexport) CForm GetFomInfor(void) 
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); //切换到dll的HINSTANCE\

return m_fmForm;
}
其中CForm是我自己写的一个类
提示:“m_fmForm”: 未声明的标识符

GetFomInfor不是CCreatFormDllApp 的成员函数,怎么能够用CCreatFormDllApp的成员变量?

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。