オブジェクトがWindowsレジストリに追加されると、次のように表示されます。
MyNamespace.MyType
COMに登録しようとすると、名前空間とクラス名が長すぎるという問題が発生したことを覚えているようです。WindowsまたはCOM+でのクラスの登録に最大長の制限はありますか?
オブジェクトがWindowsレジストリに追加されると、次のように表示されます。
MyNamespace.MyType
COMに登録しようとすると、名前空間とクラス名が長すぎるという問題が発生したことを覚えているようです。WindowsまたはCOM+でのクラスの登録に最大長の制限はありますか?
COMコンポーネントを登録する主な方法は、固定サイズの16バイト番号であるCLSIDを使用することです。GUID。遅延バインディングを使用する必要があるCOMクライアントに役立つProgIDを公開できます。スクリプト言語のように。
ProgIDに長さの制限があるかどうかはわかりませんが、COMインフラストラクチャで定義されているものはありません。たぶん、スクリプト言語には1つあります。あなたがVB6を使用していることは知っていますが、ProgIDはまったく必要ありません。早期バインディング(CreateObjectではなく新しいClassName)を優先します。レイトバウンドコールは約10,000倍遅いので、これは良い考えです。
とにかく、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
---------------------------