iCAx开思工具箱
标题:
教程中的代码重编译后就不能用了
[打印本页]
作者:
wel8584
时间:
2011-3-16 15:17
标题:
教程中的代码重编译后就不能用了
我在尝试在ProE中使用MFC开发的对话框,张春桥例子中自带的dll没有问题,但是我把他的源码用我机器上的vc6.0重新编译一下,对话框就出不来了。
后来重新建一个工程,就是简单的调用一个对话框,编译都没问题,源码如下
const int size = 256;
extern "C" int user_initialize(int argc,char *argv[],char *version,char *build, wchar_t errbuf[])
{
ProErr status;
AFX_MANAGE_STATE(AfxGetStaticModuleState());
int status2;
status2 = MyDlg.DoModal();
if (status2 == 0)
{
AfxMessageBox("OK2");
}
ProMdl part;
wchar_t ZhiShu_List[size]=L"F:\\ZhuiNose.prt.1";
status = ProMdlRetrieve(ZhiShu_List, PRO_MDL_PART, &part);
AfxMessageBox("OK1");
ProMdlDisplay(part);
int win_id;
ProWindowCurrentGet(&win_id);
ProWindowActivate(win_id);
return status;
}
extern "C" void user_terminate()
{
return;
}
运行的时候模型能被打开,OK1那个消息框也能出来,就是对话框出不来,也没有任何错误提示,有高手知道为什么吗?
感觉跟我VC编译有关
作者:
wel8584
时间:
2011-3-16 15:47
又仔细查了一下,发现domodal的返回值是-1,这个对话框是个空的,里面没有任何控件,不知道为什么
作者:
hyccai
时间:
2011-3-21 19:57
帮不上忙,偶用UI
作者:
hust65
时间:
2011-3-22 11:49
dialog的rc沒有設定好?
作者:
wel8584
时间:
2011-3-23 15:52
找到原因了。是编译环境没配置好。设置中多了几个lib文件,只要两个就够了,mpr.lib protk_dll.lib
因为设置了强制输出,首次编译即使出错重编译后也忽略了,所以这里很难发现。
作者:
api163
时间:
2012-4-21 11:13
为什么多了几个lib文件就不行了?
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3