河伯 发表于 2010-10-20 15:13:00

大家有感觉吗?AutoCAD .NET程序好像比较脆弱。

<font size="3">
<p><font size="3">环境:VS.NET 2010+AutoCAD 2011</font></p>
<p><font size="3">在AutoCAD.NET程序里,如果在事物边界以外执行Ent</font><font size="3"><font face="Verdana">.ColorIndex = 3之类的操作,</font></font></p>
<p><font size="3">AutoCAD立即崩溃,内部错误,发送报告,用Try截获也不行。</font><font size="3">而LISP和VBA基本不会导致AutoCAD崩溃。</font></p></font>
<p><font size="3">按照微软的说法,.NET程序安全性应该更好,AutoCAD不应该这样啊!</font></p>

雪山飞狐_lzh 发表于 2010-10-20 15:18:00

<p>事务以外肯定会挂的</p>
<p>和事务没多大关系,因为事务提交后实体就dispose了</p>
<p>空值调用就挂掉了</p>
<p>如果不想用事务,用过时的函数id.Open()吧,这个不会挂,但是要自己写代码dispose</p>
<p>&nbsp;</p>

河伯 发表于 2010-10-20 15:34:00

<p><font size="3">经测试,事务提交后,实体的ID还保留着,并且属性能读取,也可以再次打开。</font></p>
<p><font size="3">在程序的实际应用中,情况千差万别,难免有非法操作。</font></p>
<p><font size="3">最好有什么办法,即使发生错误,也不让AutoCAD崩溃。</font></p>
<p><font size="3"></font>&nbsp;</p>

雪山飞狐_lzh 发表于 2010-10-21 18:04:00

<p>这个似乎只有靠编程者自己去把握,没有太好的办法</p>
<p>如果发生错误,AutoCAD是肯定崩溃的</p>
页: [1]
查看完整版本: 大家有感觉吗?AutoCAD .NET程序好像比较脆弱。