当对象添加到Windows注册表时,它们会显示如下:
MyNamespace.MyType
我似乎记得在尝试为COM注册时,遇到了我的命名空间和类名太长的问题。在Windows或COM +中注册类是否存在最大长度限制?
答案 0 :(得分:4)
<强> source = MSDN 强>
答案 1 :(得分:2)
注册COM组件的主要方法是使用CLSID,这是一个固定大小为16字节的数字。一个GUID。您可以发布ProgID,这对需要使用后期绑定的COM客户端很有用。就像脚本语言一样。
我不知道ProgID是否存在长度限制,COM基础结构中没有定义。也许脚本语言有一个。我知道你使用的是VB6,根本不需要ProgID。它更喜欢早期绑定(新的ClassName,而不是CreateObject)。这是一个好主意,因为后期绑定呼叫的速度要慢大约10,000倍。
Anyhoo,如果你想指定一个ProgId,那么使用<ProgId>
属性。正常格式是AppName.ClassName,应该很少测试任何类型的长度限制。
答案 2 :(得分:2)
说到“程序化ID”的随机限制......
---------------------------
Microsoft Visual Basic
---------------------------
Programmatic ID string too long '<<project_name>>.<<control_name>>'.
The Programmatic ID must be 39 characters or less.
---------------------------
OK Help
---------------------------