環境: VS2008、C++ ATL COM、64 ビット、Windows 7
古い COM インターフェイスからメソッドを削除しようとしています。*.idl を変更し、関連する *.h および *.cpp 実装ファイルを変更し、メイン プロジェクトの .h ファイルからも削除します。プロジェクト全体で古いメソッド名を検索できます-表示されず、コンパイル/リンクは正常に行われます。ただし、オブジェクト ブラウザを使用してコンパイル済みの DLL を確認すると、dang メソッドがまだ残っています。.NET プロジェクトで DLL を「参照」すると、メソッドが表示されます。.NET コードがメソッドを使用しようとすると、メモリ例外が発生します (これは理にかなっています)。IDL を変更し、メソッド コードを削除し、結果としてコンパイルされた DLL を正しくする方法を理解することはできません。
メソッドが潜んでいるのは一体どこで、既存の ATL 生成 COM インターフェイスからメソッドを削除する別の方法はありますか? 私は困惑しています!ありがとう!