reecho 发表于 2009-5-31 17:19:00

[求助]读完对象数据后,释放acadentity的问题?

<p>我用的是.net 2005和autocad map 3d2005.读某个实体的对象数据时,用到了records.init( acadEntity,false,false)的方法,程序执行完后,就不能对该实体进行其他的操作了,提示该实体已经被打开。我将records设为了null,还是一样的。不知道经过records。init方法后,该如何释放acadentity?请各位大侠帮帮忙,谢谢了!</p>

giswater 发表于 2009-6-30 18:39:00

需要delete

easypower 发表于 2009-7-2 16:09:00

<p>应该是需要close哦</p><p>你是.net,我不清楚</p>

wj_job 发表于 2009-7-14 01:19:00

如果是C#托管对象不需要管他吧!垃圾回收让DotNET自己做去。<br/>如果是C++,那就需要将实体Close()才行。<br/>

luowy 发表于 2009-7-30 01:48:00

既然你已经获得关键的提示:eWasOpenForWrite,就说明运行到你那行代码的之前,相关的操作已经被执行,且与之相连的实体对象在打开后没有被关闭,按这个思路往前退,就能找到了,多用errorstatus来调试你的程序,这样判断你的代码在哪里出错可以变得更加简单,调试也更加快捷

wj_job 发表于 2009-7-31 16:12:00

必须在Map作用域之外才能再次操作实体对象,否则报错,呵呵!
页: [1]
查看完整版本: [求助]读完对象数据后,释放acadentity的问题?