请教高手这个问题出在哪?
我用VC++.NET2002及ObjectARX2006开发CAD2006下的ARX程序,程序的功能是读取一个数据文件,绘制成图.编译时没有错误.运行完成后,出现出错提示:
unhandled 80000003h Exception at 7c921230h
我已看到运行结果了,但容不得进行保存,CAD就终止了.可奇怪的是,这段代码原来在VC++和ObjectARX2002编译,并在CAD2002下运行,无任何出错提示.
请问各位高手,问题到底出在哪呢?
谢谢!
我遇到同样得问题
。。。
AcDb3dPolyline *pPline;
ads_name ent2;
AcDbObjectId id2;
AcDbObject *e1;
if(RTNORM!=acedEntSel("选择地形线",ent2,q))return;//选择多线段L'
//error
acutPrintf(" 选择地形线 ok");
。。。。。
后面得语句就不会进行输出
请指教啊
1.学过Windows编程的话,你会明白CAD能不能显示一个字符串,在于有没有一个机会让他处理WM_PAINT事件,如果没有,就算你使用了acutPrintf它也不能显示,
假设崩溃问题就出在你的函数中,运行你的函数的时候整个CAD在你的函数的控制中,没有可能显示任何信息,只有在你的函数运行结束,或调用了任何一个交换控制权的函数,比如acedEntSel的时候,CAD才能显示出这条信息。
这就是说,就算:
//error
acutPrintf(" 选择地形线 ok");
//。。。。。
//后面得语句就不会进行输出
也不代表错误出在acutPrintf这句的前面。也可能在这之后。但是错误出现在这句信息得到显示的机会之前——也就是函数结束前,或任何一个acedXXX函数被调用之前。
2.Arx的错误基本上的输出都是这个信息,完全无法判断是什么错,因为可能的情况太多了。基本上是:1.试图打开不存在的图元,但是你的程序没有发现它打开失败就直接进行访问。2.删除了加入数据库的对象。3.未初始化的对象的使用。
谢谢楼上的
那天在你帮助下,我把程序调试出来了
少写一个 获取id的代码
导致严重错误,
在此深表感谢。
页:
[1]