游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1536|回复: 3

完全没辙了!求MFC DLL做MAX导出的办法

[复制链接]

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2007-3-29 23:57:00 | 显示全部楼层 |阅读模式
RT!
小弟我忙活了两天,已经 OTZ-^   于是上来请教高人~~ [em6]

在用MFC做的标准DLL上,修改了一系列属性和string等等,不用可视化界面的话,导出一切正常。
接下来做弹出对话框的问题就来了...这里有3个问题:
1、无法传递指针值....不知道怎么回事,就象下面的代码在DoExport中会出错:
CGlimMaxExportApp* pApp = static_cast<CGlimMaxExportApp*>(AfxGetApp());
pApp->SetMaxInterface(i);  <----------就这个地方出错!
熟悉3DSMAX导出插件的人都知道这个i是Interface指针,居然不能传!!这个SetMaxInterface函数只是把i用一个 = 号赋给了成员变量啊~为什么....

2、屏蔽了上面的错误后,接下来在pApp::StartExp()中又一次在 = 号那个地方停住了!这次是对话框地址传递不能...:
CMainDialog dlg;
m_pMainWnd = &dlg;   <——
m_pMainDlg = &dlg;   <——
dlg.DoModal();

3、就是那个 dlg.DoModal,3DSMAX跳出个(终止、重试、忽略)对话框,是Debug错误,点了重试又不能调试,狂晕!

前面两个错误的在执行时硬盘那个狂转啊,晕死了,传个地址跟硬盘有何干!MFC真是废物!加个STL那编译就更慢的离谱了。要不是我的导出想做的复杂点,根本不想用MFC的5555555555~~或许我才是废物呢。
哪位大人救我一命啊~~我快不行了 [em6] [em6] [em6] [em6] [em6] [em6] [em6] [em6] [em6] [em6] [em6] [em4] [em4]

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-3-30 10:41:00 | 显示全部楼层

Re:完全没辙了!求MFC DLL做MAX导出的办法

做MFC的DLL最好使用静态链接,否则要做些处理

0

主题

275

帖子

676

积分

高级会员

Rank: 4

积分
676
发表于 2007-3-30 12:04:00 | 显示全部楼层

Re:完全没辙了!求MFC DLL做MAX导出的办法

MS是??诱f的
TODO: 如果??? DLL 是??B地? MFC DLL ??,
      那??倪@?? DLL ?R出的任何??艚
      MFC ?炔康暮?剑?急仨?在函式一??加上 AFX_MANAGE_STATE
      巨集。
      例如:
      extern "C" BOOL PASCAL EXPORT ExportedFunction()
      {
        AFX_MANAGE_STATE(AfxGetStaticModuleState());
        // 此??檎?:?街黧w
      }

      ???巨集一定要出?在每一??
      函式中,才能?蚝艚 MFC 的?炔俊_@意味著
      它必?是函式?鹊牡谝???述式
     ,甚至必?在任何物件??敌?媲懊
     ,因?樗??的建??函式可能??a生? MFC
     DLL ?炔康暮艚小

    ??㈤? MFC 技?提示 33 和 58 中的???料。

30

主题

357

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
 楼主| 发表于 2007-3-31 18:16:00 | 显示全部楼层

Re:完全没辙了!求MFC DLL做MAX导出的办法

谢谢回答,我去试试看~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-12 22:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表