mfc dll需要注意的地方

   昨晚上看了看到了mfc dll编程的部分,按着书中的例子将程序再现了一遍。但是其中却遇到了问题,在dll中的对话框在建立的时候老是显示

c:/program files/microsoft visual studio/myprojects/dllregular/dlldialog.h(21) : error C2065: 'IDD_DIALOG' : undeclared identifier
c:/program files/microsoft visual studio/myprojects/dllregular/dlldialog.h(21) : error C2057: expected constant expression   这样的错误,我换到mfc(exe)中同样添加对话框编译却不会显示,一直没弄明白,不过无所谓,在我添加了Resource.h头文件的引用后,dll程序编译生成通过。但是在测试程序中始终不能显示。我在其中放置了一些TRACE代码,调试运行时发现这些代码可以显示。dll中的调用函数代码如下:

  

我下载了这些文章的源代码发现他们真的还是这样的,不知道为什么我的就不行,后来看书发现有些书上说如果你从mfc程序或者扩张mfc DLL中调用mfc函数,需要在所有导出函数的开始出添加

AFX_MANAGE_STATE(AfxGetStaticModuleState());

之后再编译生成测试通过,但是我现在还没明白为什么示例源代码中的又可以运行通过呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值