База знаний

Справочная система SP-XML

Связанные темы:

DotNetAssembly
DotNetObject
DllWrapper
DotNetHost

RegisterProc

Регистрирует функцию из DLL для последующего использования.

Метод проверяет наличие заданной функции внутри DLL и сохраняет описание параметров для формирования корректного вызова в дальнейшем. 

 

Внимание! Неправильное описание параметров или способов вызова может вызвать падение приложения.

 

Метод имеет два статических аргумента, плюс по одному аргументу на каждый описываемый аргумент функции. Функция может иметь не более 9 аргументов.

    

Аргументы

funcName   - имя функции (String).

options   - опции вызова вида 'name1=value1;name2=value2;...' (String). Доступны булевы опции 'string', 'integer' (тип результата) и 'cdecl' (тип вызова). По умолчанию функция имеет тип вызова 'pascal' и не возвращает значения.

argOptions1, argOptions2, ...   - опции аргументов вида 'name1=value1;name2=value2;...' (String). Доступны булевы опции 'string', 'integer' (тип значения) и 'out' (возвращаемый параметр).

 

Результат:

нет

 

Пример

 lib = new DllWrapper( 'User32.dll' );
 lib.RegisterProc( 'MessageBoxA', 'integer', 'integer', 'string', 'string', 'integer' );
 lib.RegisterProc( 'GetWindowTextA', 'integer', 'integer', 'string;out', 'integer;out' );