Передача параметров из 1С в COM сервер

Передача примитивных типов

В этом уроке продолжим работу с COM сервером, разработанным нами ранее. Разберем как передавать параметры между 1С и COM сервером. Для этого добавим в интерфейс ITestCOM и в класс TestCOM 4 метода: Add, String, Bool, Date. Каждый из методов работает с одним из примитивных типов данных:

Пересоберем сборку и вызовем все эти методы в 1С:

В результате примитивные типы будут корректно переданы как из 1С в COM сервер, так и обратно.

Передача массива

Теперь добавим 2 метода для работы с массивами. Метод ArrayInt умножает на 2 все элементы массива и возвращает полученный массив. Метод ArrayString добавляет к каждой строке массива строку » COM» и возвращает полученный массив:

Пересоберем сборку и вызовем эти методы в 1С. Для передачи массива из 1С в COM сервер используется специальный объект COMSafeArray. Он создается на основании обычного одинэсовского массива, а методом Выгрузить из COMSafeArray можно получить обратно обычный массив.

События

В COM сервер можно добавить события, а потом через оператор ДобавитьОбработчик подписаться на него в 1С. Для этого в интерфейс ITestCOMEvents добавим метод Event, в класс TestCOM добавим делегат и событие, а также метод TestEvent для тестирования вызова события:

В 1С через оператор ДобавитьОбработчик подпишемся на событие Event и вызовем его для проверки:

В результате на экран будет выведено сообщение «событие из COM».

Исходники на C# и обработку для тестирования можно скачать тут.

Понравилась статья? Поделиться с друзьями:
Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok