私はVB6プロジェクトに取り組んでいます。廃止したいメソッドがいくつかあります。メソッド本体を削除した後、アイデアは標準の COM エラーを発生させることです。
Err.Raise E_NOTIMPL
この場合、標準の「メソッドが実装されていません」というエラーを使用していますが、それは私が返したい正しいメッセージではありません。
何か案は?
メソッドがまだ機能しているが推奨されていない場合は、そのままにして、IDL で非表示および参照不可としてマークし、ヘルプ文字列に適切なコメントを追加します。これにより、開発者からそれらが隠されます。
それらが機能しなくなった場合、理論的には、契約を破ったため、新しい CLSID が必要になります。
それらが機能しなくなったが、クライアントが実際にそれらを使用したことがない場合は、E_NOTIMPL を使用できます。これが適切です。(また、それらを非表示にマークし、説明するヘルプ文字列を追加します。)
ただし、呼び出し元がメソッドを呼び出している場合は、E_NOTIMPLを返すか、新しい clsid を作成して再コンパイルするかに関係なく、同じように壊れていることに注意してください。