ourtibet 发表于 2009-11-15 18:54:00

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

用C#开发了从一张图上读每一根polyline2d和相连接的blockrefrense的,就是读取一根管道上的流程:管子-阀门-管子-阀门。。。。。。,不往图上写任何东西。
现在的问题是:如果图纸上有blockrefrense,dll执行第1次,第2次都正常,第3次cad异常退出,在VS中跟踪不到错误。
如果单独执行一次dll后退出cad,也报异常退出。
但是图上如果没有blockrefrense,没有问题。
主要函数为
public Entity GetNextObj(Entity currentobj)
{    PromptSelectionResult rs = Unit.GetSelection(spt1, spt2);
                  ObjectId[] ids = rs.Value.GetObjectIds();
                  foreach (ObjectId objid in ids)
                  {
                        Entity ent=Tools.GetEntity(objid);
                        //第三次出错,跟踪的时候到这里,返回第一个objectid正常,之后马上异常退出
                        if ISBlock(ent)
                              {
                                 PromptSelectionResultrs2=....
                           }
                     else if ISLine(ent)
                            {
                                 PromptSelectionResultrs2=....
                            }
Transaction,LockDocument都没有问题。开发环境是VS2005+CAD2007,在其他机器的CAD2010中测试过,也是报错。
不知道问题到底在哪儿,翻来覆去测试了N遍都没有发现问题,求高手答疑。个人怀疑是romptSelectionResult 循环调用引起,但是这种用法应该很正常啊。

雪山飞狐_lzh 发表于 2009-11-15 20:20:00

异常退出最常见的错误是引用了空值,最好先不要引用第三方类库,然后逐步测试

ourtibet 发表于 2009-11-16 08:56:00

已经解决,谢谢斑竹

sgj789012 发表于 2010-4-10 06:38:00

楼主,如何解决的?

kingchoice00 发表于 2010-4-17 15:35:00

加油

游天居士 发表于 2010-4-17 19:03:00

我也想知道是如何解决的。
游天居士到此一游
页: [1]
查看完整版本: 对.Net都没有信心了,CAD频繁异常退出