Я пытаюсь получить доступ к работающему экземпляру приложения, Rational Rhapsody, через COM.Я пытаюсь использовать COM-вызовы C ++ / CLI.
Из вызовов C ++:
rhapsody::RPApplication^ App = safe_cast<rhapsody::RPApplication^>( Marshal::GetActiveObject("Rhapsody.Application"));
Вызывает исключение COM: 800401E3 (операция недоступна)
Но с использованием Marshal::GetActiveObject("Word.Application")
работает просто отлично.Использование gcnew rhapsody::RPApplication()
прекрасно работает для создания нового экземпляра, и тот же код в C #:
rhapsody.RPApplication App = (rhapsody.RPApplication) Marshal.GetActiveObject("Rhapsody.Application")
работает просто отлично.Есть идеи, почему он не работает с C ++ / CLI?