明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1732|回复: 3

请教高手这个问题出在哪?

[复制链接]
发表于 2006-8-25 11:23:00 | 显示全部楼层 |阅读模式

我用VC++.NET2002及ObjectARX2006开发CAD2006下的ARX程序,程序的功能是读取一个数据文件,绘制成图.编译时没有错误.

运行完成后,出现出错提示:

unhandled 80000003h Exception at 7c921230h

我已看到运行结果了,但容不得进行保存,CAD就终止了.可奇怪的是,这段代码原来在VC++和ObjectARX2002编译,并在CAD2002下运行,无任何出错提示.

请问各位高手,问题到底出在哪呢?

谢谢!

发表于 2006-8-25 22:52:00 | 显示全部楼层

我遇到同样得问题

。。。

AcDb3dPolyline *pPline;
  ads_name ent2;
  AcDbObjectId id2;
  AcDbObject *e1;

  if(RTNORM!=acedEntSel("选择地形线",ent2,q))return;//选择多线段L'

//error

acutPrintf(" 选择地形线 ok");

。。。。。

后面得语句就不会进行输出

请指教啊

 

发表于 2006-8-30 18:36:00 | 显示全部楼层

1.学过Windows编程的话,你会明白CAD能不能显示一个字符串,在于有没有一个机会让他处理WM_PAINT事件,如果没有,就算你使用了acutPrintf它也不能显示,

假设崩溃问题就出在你的函数中,运行你的函数的时候整个CAD在你的函数的控制中,没有可能显示任何信息,只有在你的函数运行结束,或调用了任何一个交换控制权的函数,比如acedEntSel的时候,CAD才能显示出这条信息。

这就是说,就算:

//error

acutPrintf(" 选择地形线 ok");

//。。。。。

//后面得语句就不会进行输出

也不代表错误出在acutPrintf这句的前面。也可能在这之后。但是错误出现在这句信息得到显示的机会之前——也就是函数结束前,或任何一个acedXXX函数被调用之前。

2.Arx的错误基本上的输出都是这个信息,完全无法判断是什么错,因为可能的情况太多了。基本上是:1.试图打开不存在的图元,但是你的程序没有发现它打开失败就直接进行访问。2.删除了加入数据库的对象。3.未初始化的对象的使用。

发表于 2006-8-31 08:33:00 | 显示全部楼层

谢谢楼上的

那天在你帮助下,我把程序调试出来了

少写一个 获取id的代码

导致严重错误,

在此深表感谢。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 22:53 , Processed in 0.173452 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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