Доступ к любому выбранному экземпляру 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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