VC2008调用VC6扩展DLL的问题

zhouzhenyan 2011-10-17 10:47:37
用VC6写一个MFC扩展DLL,其中导出一个函数Func1,该函数中调用AfxMessageBox,在VC2008中用LoadLibrary显式加载该dll,并调用Func1,但MessageBox不能以模式的方式显示。请问这个是由于什么原因导致的,是不是VC6的扩展dll和VC2008不兼容?
...全文
149 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gold_water 2011-10-17
  • 打赏
  • 举报
回复
一般不建议使用扩展DLL,兼容行太差。
  • 打赏
  • 举报
回复
扩展DLL互不不兼容。除非是同一个版本的编译器,sp包不同 也视为不同版本。

用VS2008重新编译下dll吧
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhouzhipen 的回复:]
把一方改成静态LIB的试试
[/Quote]

要求用dll。
zhouzhipen 2011-10-17
  • 打赏
  • 举报
回复
把一方改成静态LIB的试试
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
看来是没有办法了?大家多参与啊,参与都有分。
cocoabird 2011-10-17
  • 打赏
  • 举报
回复
兼容的话就能相互移植了
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fandh 的回复:]
会不会unicode与非unicode的原因?
[/Quote]

不是,VC6的dll也用的是UNICODE。
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhouzhipen 的回复:]
是的,而且这样调用可能会出现别的问题(主要是内存非法访问).
[/Quote]

有没有解决的办法?(除了统一到同一个版本上的办法外)
fandh 2011-10-17
  • 打赏
  • 举报
回复
会不会unicode与非unicode的原因?
zhouzhipen 2011-10-17
  • 打赏
  • 举报
回复
是的,而且这样调用可能会出现别的问题(主要是内存非法访问).
MDianng 2011-10-17
  • 打赏
  • 举报
回复
让那个dll 静态链接MFC库。

在工程-》general-》Microsoft Foundation Classes
选 use MFC in a static library。

fengbingchun 2011-10-17
  • 打赏
  • 举报
回复
http://blog.csdn.net/fengbingchun/article/details/6081659

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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