对.Net都没有信心了,CAD频繁异常退出
<p>用C#开发了从一张图上读每一根polyline2d和相连接的blockrefrense的工具,就是读取一根管道上的流程:管子-阀门-管子-阀门。。。。。。,不往图上写任何东西。</p><p>现在的问题是:如果图纸上有blockrefrense,dll执行第1次,第2次都正常,第3次cad异常退出,在VS中跟踪不到错误。</p><p>如果单独执行一次dll后退出cad,也报异常退出。</p><p>但是图上如果没有blockrefrense,没有问题。</p><p>主要函数为</p><p>public Entity GetNextObj(Entity currentobj)</p><p>{ PromptSelectionResult rs = AutoCADUnit.GetSelection(spt1, spt2);<br/> ObjectId[] ids = rs.Value.GetObjectIds();<br/> foreach (ObjectId objid in ids)<br/> {<br/> Entity ent=Tools.GetEntity(objid);</p><p> //第三次出错,跟踪的时候到这里,返回第一个objectid正常,之后马上异常退出</p><p> if ISBlock(ent)</p><p> {</p><p> PromptSelectionResult rs2=....</p><p> }</p><p> else if ISLine(ent)</p><p> {</p><p> PromptSelectionResult rs2=....</p><p> }</p><p>Transaction,LockDocument都没有问题。开发环境是VS2005+CAD2007,在其他机器的CAD2010中测试过,也是报错。</p><p>不知道问题到底在哪儿,翻来覆去测试了N遍都没有发现问题,求高手答疑。个人怀疑是:PromptSelectionResult 循环调用引起,但是这种用法应该很正常啊。</p><p> </p> 异常退出最常见的错误是引用了空值,最好先不要引用第三方类库,然后逐步测试 已经解决,谢谢斑竹 楼主,如何解决的? <p>加油</p> <p>我也想知道是如何解决的。</p><p>游天居士到此一游</p>
页:
[1]