明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2241|回复: 5

对.Net都没有信心了,CAD频繁异常退出

[复制链接]
发表于 2009-11-15 18:54:00 | 显示全部楼层 |阅读模式

用C#开发了从一张图上读每一根polyline2d和相连接的blockrefrense的工具,就是读取一根管道上的流程:管子-阀门-管子-阀门。。。。。。,不往图上写任何东西。

现在的问题是:如果图纸上有blockrefrense,dll执行第1次,第2次都正常,第3次cad异常退出,在VS中跟踪不到错误。

如果单独执行一次dll后退出cad,也报异常退出。

但是图上如果没有blockrefrense,没有问题。

主要函数为

public Entity GetNextObj(Entity currentobj)

{    PromptSelectionResult rs = AutoCADUnit.GetSelection(spt1, spt2);
                    ObjectId[] ids = rs.Value.GetObjectIds();
                    foreach (ObjectId objid in ids)
                    {
                        Entity ent=Tools.GetEntity(objid);

                        //第三次出错,跟踪的时候到这里,返回第一个objectid正常,之后马上异常退出

                        if ISBlock(ent)

                              {

                                 PromptSelectionResult  rs2=....

                             }

                       else if ISLine(ent)

                            {

                                   PromptSelectionResult  rs2=....

                            }

Transaction,LockDocument都没有问题。开发环境是VS2005+CAD2007,在其他机器的CAD2010中测试过,也是报错。

不知道问题到底在哪儿,翻来覆去测试了N遍都没有发现问题,求高手答疑。个人怀疑是:PromptSelectionResult 循环调用引起,但是这种用法应该很正常啊。

 

发表于 2009-11-15 20:20:00 | 显示全部楼层
异常退出最常见的错误是引用了空值,最好先不要引用第三方类库,然后逐步测试
 楼主| 发表于 2009-11-16 08:56:00 | 显示全部楼层
已经解决,谢谢斑竹
发表于 2010-4-10 06:38:00 | 显示全部楼层
楼主,如何解决的?
发表于 2010-4-17 15:35:00 | 显示全部楼层

加油

发表于 2010-4-17 19:03:00 | 显示全部楼层

我也想知道是如何解决的。

游天居士到此一游

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

本版积分规则

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

GMT+8, 2024-11-25 20:39 , Processed in 0.160224 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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