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