明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1764|回复: 9

[VBA]关于字符串的唯一性标识问题

[复制链接]
发表于 2004-6-9 15:27:00 | 显示全部楼层 |阅读模式
我在CAD中插入了一个MTEXT的字符串,发现这个字符串的ObjectID不是唯一的,也就是说当我插入新的字符串之后,它的ObjectID会被改变,难道它没有一个终身固定的标识吗?
发表于 2004-6-9 15:35:00 | 显示全部楼层
可以用句柄
发表于 2004-6-9 15:42:00 | 显示全部楼层
当然没有唯一性标识,你是新生成的实体么!每个实体的ObjectID和Handle都不一样和字符串的内容无关
 楼主| 发表于 2004-6-9 17:04:00 | 显示全部楼层
lzh741206: 我是说生成字符串实体A之后,A.ObjectID为2104788765,当我新插入一个字符串实体B之后,发现A.ObjectID为2871635120,由此看来,A的ObjectID是变的,也就是没有唯一性了,这样我找它的时候就难找了。
发表于 2004-6-9 21:23:00 | 显示全部楼层
不会吧,把你的代码贴上来看看
 楼主| 发表于 2004-6-10 08:13:00 | 显示全部楼层
显示其ObjectID程序是这样的:
当生成字符串实体A之后,A.ObjectID为2104788765,当我新插入一个字符串实体B之后,发现A.ObjectID为2871635120,由此看来,A的ObjectID是变的 Sub ShowObjectID()
Dim mtext As AcadMText
Dim entry As AcadEntity
Dim mySelect As Variant ThisDrawing.Utility.GetEntity entry, mySelect , "select a Text:" MsgBox entry.ObjectID End Sub
发表于 2004-6-10 08:33:00 | 显示全部楼层
不是要你的调试代码,我调试的结果是不变的,看看你的生成MText的代码
 楼主| 发表于 2004-6-10 09:05:00 | 显示全部楼层
我是直接在CAD里点击CAD自带的多行文字“A“来输入文字的,文字不是由程序生成,输入完新的字符串以后,关闭CAD文件后重新打开发现原来输入的字符串的ID号变了,有什么办法可以在关闭后重新打开文件时,可识别出来呢
发表于 2004-6-10 10:34:00 | 显示全部楼层
ObjectID只有在打开CAD期间的各个文档中是唯一的,即下次打开时它会变化。


Handle在一张图中是唯一的,下次打开也不会改变。
 楼主| 发表于 2004-6-10 16:09:00 | 显示全部楼层
好的,用handle可以,谢谢各位!~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 06:27 , Processed in 0.180982 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表