关于如何使用dll中的资源的问题

donkey301 2009-06-09 08:24:58
我现在在一个MFC的.exe中调用一个MFC的dll,但如果在dll中使用MFC的类就可能导致出错,.exe是一个很一般的MFC程序,dll代码大体如下:
有一个.h和一个.cpp文件:
.h里:

class __declspec(dllimport) TaskProgress
{
int CallTaskProgressDlg();
}


.cpp里:

int TaskProgress::CallTaskProgressDlg()
{
CXTPTaskDialog* CTaskProgressDlger = NULL;
CTaskProgressDlger = new CXTPTaskDialog;
CTaskProgressDlger->Create(); //Error here.
}


运行时在CTaskProgressDlger->Create()这句话出错,报告: ASSERT(afxCurrentInstanceHandle != NULL 错误,请问怎么解决,多谢。用的是vs2005, .exe和.dll都是share MFC dll.

...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
donkey301 2009-06-09
  • 打赏
  • 举报
回复
成功,多谢
donkey301 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fengrx 的回复:]
创建此DLL时有没有选择MFC支持?
看下stdafx.h中有没有引入下面的头文件:
C/C++ code#include<afx.h>#include<afxwin.h>//MFC core and standard components#include<afxext.h>//MFC extensions#ifndef _AFX_NO_OLE_SUPPORT
#include<afxdtctl.h>//MFC support for Internet Explorer 4 Common Controls#endif#ifndef _AFX_NO_AFXCMN_SUPPORT
#include<afxcmn.h>//MFC support for Windows Common Controls#endif//_AFX_NO_AF…
[/Quote]
加了,不行
fengrx 2009-06-09
  • 打赏
  • 举报
回复
2楼正确。
下面的文章讲的这个东东:
从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起
dch4890164 2009-06-09
  • 打赏
  • 举报
回复
AFX_MANAGE_STATE(AfxGetStaticModuleState());
这行注明是使用dll资源
dch4890164 2009-06-09
  • 打赏
  • 举报
回复


int TaskProgress::CallTaskProgressDlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CXTPTaskDialog* CTaskProgressDlger = NULL;
CTaskProgressDlger = new CXTPTaskDialog;
CTaskProgressDlger->Create(); //Error here.
}

fengrx 2009-06-09
  • 打赏
  • 举报
回复
创建此DLL时有没有选择MFC支持?
看下stdafx.h中有没有引入下面的头文件:

#include <afx.h>
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#endif
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

#include <iostream>
// Windows Header Files:
#include <windows.h>

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧