[VBA]关于字符串的唯一性标识问题
我在CAD中插入了一个MTEXT的字符串,发现这个字符串的ObjectID不是唯一的,也就是说当我插入新的字符串之后,它的ObjectID会被改变,难道它没有一个终身固定的标识吗? 可以用句柄 当然没有<b>唯一性标识,你是新生成的实体么!每个实体的</b>ObjectID和Handle都不一样和字符串的内容无关 <A name=25641><FONT color=#990000><B>lzh741206</B></FONT></A>:我是说生成字符串实体A之后,A.ObjectID为2104788765,当我新插入一个字符串实体B之后,发现A.ObjectID为2871635120,由此看来,A的ObjectID是变的,也就是没有唯一性了,这样我找它的时候就难找了。 不会吧,把你的代码贴上来看看 显示其ObjectID程序是这样的:<BR>当生成字符串实体A之后,A.ObjectID为2104788765,当我新插入一个字符串实体B之后,发现A.ObjectID为2871635120,由此看来,A的ObjectID是变的
Sub ShowObjectID()<BR>Dim mtext As AcadMText<BR>Dim entry As AcadEntity<BR>Dim mySelect As Variant
ThisDrawing.Utility.GetEntity entry, mySelect , "select a Text:"
MsgBox entry.ObjectID
End Sub 不是要你的调试代码,我调试的结果是不变的,看看你的生成MText的代码 我是直接在CAD里点击CAD自带的多行文字“A“来输入文字的,文字不是由程序生成,输入完新的字符串以后,关闭CAD文件后重新打开发现原来输入的字符串的ID号变了,有什么办法可以在关闭后重新打开文件时,可识别出来呢 ObjectID只有在打开CAD期间的各个文档中是唯一的,即下次打开时它会变化。
Handle在一张图中是唯一的,下次打开也不会改变。 好的,用handle可以,谢谢各位!~<BR>
页:
[1]