Мне нужно загрузить несколько библиотек OCX для доступа к устаревшему коду. Я создаю экземпляр с помощью Activator.CreateInstance:Создайте несколько экземпляров того же OCX
var type = Type.GetTypeFromProgID(ProgId);
var comObject = Activator.CreateInstance(type);
К сожалению Activator.CreateInstance, кажется, создает только один экземпляр в ProgId, однако мне нужно несколько экземпляров с различными конфигурациями.
Пример: Предположу, что я использую Wich OCX позволяет установить значение:
var instance1 = Create(progId);
Set(instance1, "key", "1");
var value1 = Get(instance1, "key"); // returns 1
var instance2 = Create(progId);
Set(instance2, "key", "2");
var value2 = Get(instance2, "key"); // returns 2
var value3 = Get(instance1, "key"); // returns 2
Мне нужна способ для создания экземпляра одного OCX (же ProgId) контролировать несколько раз без получения правосторонних ссылок на только один экземпляр.
Может быть ошибка (глобальные переменные), может быть преднамеренной. Обычно это так. У вас нет регуляторов для настройки, работайте с поставщиком OCX. –
Спасибо за ваш совет. OCX написана нашей компанией. Я думаю, что глобальные переменные могут быть проблемой. Я попытаюсь проверить это понятие. – Zebi