COM を介して、Rational Rhapsody アプリケーションの実行中のインスタンスにアクセスしようとしています。C++/CLI COM 呼び出しを使用しようとしています。
C++ 呼び出しから:
rhapsody::RPApplication^ App = safe_cast<rhapsody::RPApplication^>( Marshal::GetActiveObject("Rhapsody.Application"));
COM Exception の原因: 800401E3 (操作は利用できません)
しかし、使用Marshal::GetActiveObject("Word.Application")
すると問題なく動作します。を使用gcnew rhapsody::RPApplication()
すると、C# で新しいインスタンスと同じコードを作成できます。
rhapsody.RPApplication App = (rhapsody.RPApplication) Marshal.GetActiveObject("Rhapsody.Application")
うまく動作します。C++/CLI から動作しない理由はありますか?