Руководство разработчика

Метод ДИН_COM_ОБЪЕКТ.ВЫЗВАТЬ

Метод ВЫЗВАТЬ позволяет вызвать метод СОМ-объекта. Первым параметром задается имя метода, далее в квадратных скобках может задаваться список параметров, а в конце, отделенная запятой – переменная результата.

ФУНКЦИЯ ЛОГИКА: ВЫЗВАТЬ(<имя>
                        [([ПЕРЕМ] <параметр1> [, ...])]
                        [,<результат>])

Параметры

имя
Имя метода, как оно задано в IDL (не путать с назначенным идентификатором в статической модели!).
параметр1 ... параметрN
Значения фактических параметров вызова. Количество заданных параметров должно соответствовать количеству параметров метода. Также должные соответствовать типы параметров и способ передачи. Входные параметры (in) передаются по значению, для них задается выражение соответствующего типа. Выходные (out) и входные/выходные (in/out) параметры передаются по ссылке, для них задается переменная, перед идентификатором которой ставится ключевое слово ПЕРЕМ. Т.к. код вызова метода ВЫЗВАТЬ генерируется компилятором внутреннего языка в момент, когда информация о COM-интерфейсе недоступна, необходимо явно указывать в списке все выходные параметры с помощью ключевого слова ПЕРЕМ.
результат
Переменная результата. Отделяется от имени функции или списка параметров запятой. Переменная результата может не указываться, даже если вызываемый метод возвращает результат. И наоборот, может указываться, когда метод ничего не возвращает.

Возвращаемое значение

ДА – в случае успешного выполнения вызова метод COM, НЕТ – в противном случае. Текст сообщения об ошибки можно получить вызовом метода ПОСЛ_ОШИБКА.

Замечание: на момент вызова COM-объект должен быть создан методом СОЗДАТЬ_ЭКЗЕМПЛЯР.

Для доступа к свойствам COM-объекта используются методы СЧИТАТЬ и ЗАПИСАТЬ.

Пример:

// объявляем переменную
ПЕРЕМ ДИН_COM_ОБЪЕКТ: об
// создаем COM-объект, используя ProgId класса
ЕСЛИ об.СОЗДАТЬ_ЭКЗЕМПЛЯР ( "", "", "MyLib.MyClass" ) ТО

   ПЕРЕМ ЧИСЛО: и = 1
   ПЕРЕМ СТРОКА: с
   ПЕРЕМ ЛОГИКА: рез

   // первый параметр – числовое выражение (по значению)  
   // второй параметр – строка по ссылке
   // рез – переменная логического типа для возвращаемого значения
   ЕСЛИ об.ВЫЗВАТЬ ( "SomeMethod" ( и + 10, ПЕРЕМ с), рез) ТО
// …
   КОНЕЦ_ЕСЛИ

   // вызов простейшего метода без параметров и результата
   ЕСЛИ об.ВЫЗВАТЬ ( "SimpleMethod" ) ТО
// …
   КОНЕЦ_ЕСЛИ

КОНЕЦ_ЕСЛИ

См. также: