[ARX]请教各位大哥,为什么autoca无法正常工作。
本帖最后由 作者 于 2004-12-2 3:15:14 编辑 <br /><br /> 我编写一个带模态对话框的arx程序,编译没有任何错误,可是在auotocad中运行时,autocad就自动关掉了,我把CAcUiDialog::OnInitDialog()注释掉就不会出现上述问题,可是当调用如CAcUiDialog::OnOK()时又出现上面的问题(我用的是realease来编译程序的,问题不会处在这吧。)而当我用debug调试的时候,又发生如下的警告,LINK : warning LNK4098: defaultlib "mfc42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library<BR>LINK : warning LNK4098: defaultlib "mfcs42.lib" conflicts with use of other libs; use /NODEFAULTLIB:library这时候在autocad下加载的时候,autocad程序就发生资源冲突,无法正常工作,请问怎么解决,谢谢各位大哥!
回复
能上传你的程序吗? 那先谢谢版主了! 我用的是autocad2002, 你不是用ARX向导生成的工程吧...是这个DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
函数里面出现问题了.. 参考一下sdk中的mfc的例子. 我用的是MFC AppWizard建立的工程,资源冲突的问题已经解决了,是在stdafx.h中发生了问题。现在就是还是cad自动退出的问题。
我参考了asdk中有关mfc的叫做acuisample的例子,DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)的写法就是照抄过来的,楼上的大哥,你能把问题说的详细一些吗?
回复
我用的是AutoCAD2004和ObjectARX2005,我完全可以把你的代码修改为AutoCAD2004的版本,显示调用一个模态对话框.
不过,你又不能直接用.
我提供给你一个方法, 用ARX Wizard建立工程, 参照SDK中的例子, 加代码,加一段就编译测试, 即发现一点问题就解决一点, 直到能显示你的Dialog, 理解一下每一步的作用.这样相比你写完成所有代码再编译更容易发现错误.
这样有什么问题再发上来! 呵呵,首先谢谢版主的热心支持,我照你的方法用arx wizard建立的工程,我现在就发现是当调用类CAcuiDialog 的一些函数的时候就发生异常,如CAcuiDialog::OnOK,CAcuiDialog::OnIntDialog等函数的时候,autocad就发生异常,可是当我把他们注释掉的时候,程序又恢复正常,我在加的头文件方面也没什么问题,和ASDK的例子AcuiSample 是一样的,我运行例子上的程序一切正常,所以我觉得应该不是AUTOCAD方面的原因吧。
回复
不要以为加代码段的一样, 就一切正常, 也许你遗漏了一些内容,最好不要拷贝, 自己写, 一点点地试, 才知道每一段(甚至每一句代码起什么作用).
说是如此, 还要自己体会了.
页:
[1]
2