1CNativeLib - библиотека Delphi для создания внешних компонент (ВК) 1С по технологии Native API. Библиотека легка в использовании и позволяет заниматься непосредственно функционалом ВК, не отвлекаясь на соблюдение инструкций, предоставленных фирмой 1С.
Для того, чтобы создать ВК с помощью 1CNativeLib, достаточно создать проект DLL, написать класс с реализацией функционала вашей ВК и зарегистрировать этот класс при загрузке dll. Минимальный проект DLL с реализацией класса с одним методом выглядит так:
//-----------------------------------------------------------------
library MiniVK;
uses
SysUtils, v8napi;
type
TMyClass = class(TV8UserObject)
function Hello(RetValue: PV8Variant; Params: PV8ParamArray;
const ParamCount: integer): boolean;
end;
{ TMyClass }
function TMyClass.Hello(RetValue: PV8Variant; Params: PV8ParamArray;
const ParamCount: integer): boolean;
begin
V8SetWString(RetValue,'Привет из Delphi!'); //устанавливаем результат функции
result := True; //Устанавливаем флаг, что функция завершилась успешно
end;
begin
with ClassRegList.RegisterClass(TMyClass, 'MySuperExtention', 'TMyClass') do
begin
AddFunc('Hello', 'Привет', @TMyClass.Hello, 0); //регистрируем функцию
end;
end.
//-----------------------------------------------------------------
Всё необходимое содержится в одном модуле v8napi.pas. В прилагаемом архиве сам модуль, пример, более подробное описание и шаблон для нового проекта.