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