Создание ActiveX объекта - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Не знаю как назвать тему, потому так. В общем есть activex объект для scada системы. В basic.net с ним работать просто. Достаточно лишь создать объект
Листинг программы
  1. dim obj as object
  2. obj = createobject("AdroitServer")
После этого становятся доступны его методы obj.Fetch obj.Poke и т.д. При чем добавлять референс в проект не нужно. В c# я вообще полный ноль, но начать хотелось. Онлайн конвертер кода переводит из
Листинг программы
  1. Sub main()
  2. Dim obj as object
  3. obj = CreateObject("AdroitServer")
  4. Msgbox(obj.fetch("Tag","value"))
  5. End Sub
в
Листинг программы
  1. public void main()
  2. {
  3. object obj = null;
  4. obj = Interaction.CreateObject("AdroitServer");
  5. Interaction.Msgbox(obj.fetch("Tag", "value"));
  6. }
Basic подключен. Но оно ругается что у объекта obj нет такого метода как fetch Пробовал уже и подключать в проект бибилотеку AdroitX Если AdroitX obj; То методы у obj появляются, но естественно что obj пустая переменная... SOS
Ответ пришел после вопроса))) Нужно было объявлять не object а dynamic
Листинг программы
  1. dynamic adroit = Interaction.CreateObject("AdroitServer");
Тему можно закрывать.

Решение задачи: «Создание ActiveX объекта»

textual
Листинг программы
  1. dynamic obj = Activator.CreateInstance(Type.GetTypeFromProgID("AdroitServer"));
  2. MessageBox.Show(obj.fetch("Tag", "value"));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы