eagledance 发表于 2003-12-3 14:36:00

如何在一个对象被删除以后 通过消息获得这个对象的句柄呢

其实获得一个已删除的对象的句柄 本来没什么更大的意义
但是为了通程序中的其他的部分进行协调(通知程序 这个对象已经删除了) 就要获得这个已删除的对象的句柄 可是不知道如何做呢 ObjectErased传递的是对象的id 可是对象删除之后 对象id就无法转换成对象句柄了 诚盼大家予以赐教

mccad 发表于 2003-12-3 15:07:00

只能考虑用其它方式实现了。
如通过对象ID来传递信息

eagledance 发表于 2003-12-3 16:14:00

对象id 在文件存盘以后 再读出来的时候 就会变了 所以不能考虑对象id 不知道是不是有其他的办法呢

efan2000 发表于 2003-12-3 18:59:00

保存的时候使用句柄,读取出将句柄转化成对象ID,它们之间是一一应该的关系,这时可以将对象ID先暂存在数据库中。删除时根据对象ID从数据库中查出句柄。

今晚打老虎 发表于 2003-12-4 11:03:00

在删除前begincommand事件里捕捉command如果是删除命令,就在当前选择集里,找到要考察的对象的句柄 ,不知这样做能行么??

efan2000 发表于 2003-12-4 11:46:00

有些情况,事件并不会发生,比如重定义命令,外部程序编写的删除命令等。

今晚打老虎 发表于 2003-12-4 14:18:00

如果是这样就只能在图一打开先在字典中记录所有要考察对象的句柄与id的关系了,而且在每次编辑中都要更新。

efan2000 发表于 2003-12-4 20:39:00

编辑时并不需要,因为在文档的存在期间,对象ID也是不变的。但新增的对象则要写入数据库,进行对应。

fourstone 发表于 2003-12-8 16:56:00

真不知道CAD为什么不保留对象的Handle
页: [1]
查看完整版本: 如何在一个对象被删除以后 通过消息获得这个对象的句柄呢