Доступ к любому выбранному экземпляру Bentley MicroStation V8i из внешнего приложения на C#.C#

Место общения программистов C#
Anonymous
Доступ к любому выбранному экземпляру Bentley MicroStation V8i из внешнего приложения на C#.

Сообщение Anonymous »

У меня есть приложение C#, которое обращается к Microstation (V8i) через API. Проблема в том, что если одновременно открыто несколько экземпляров MicroStation, доступ будет только к тому экземпляру, который был открыт первым.
Я нашел статью, посвященную такой проблеме (пример - AutoCAD ) Однако доступ к COM-приложениям из таблицы выполняемых объектов в данном случае не сработал. Возвращенный список объектов IMoniker, обнаруженных при фильтрации таблицы выполняемых объектов с помощью «MicroStationDGN.ApplicationObjectConnector», содержал столько же объектов, сколько открытых экземпляров Microstation, однако все они выглядели одним и тем же объектом (например, одноэлементным).
Фрагмент кода описание теста ниже. Весь метод GetRunningInstances(progId) есть в ссылке, не хотелось его здесь дублировать.

Код: Выделить всё

            string progId = "MicroStationDGN.ApplicationObjectConnector";

List instances = GetRunningInstances(progId);
bool theSame = instances[0] == instances[1];    //at least 2 instances, returns true
Есть ли способ получить доступ к выбранному экземпляру открытых экземпляров Microstation?
Марек Праски

Подробнее здесь: https://stackoverflow.com/questions/791 ... nal-applic

Вернуться в «C#»