Skip to content

Динамическое подключение сценариев

Динамическое подключение сценариев

Методы

ПодключитьСценарий / AttachScript

Подключает сторонний файл сценария к текущей системе типов. Подключенный сценарий выступает, как самостоятельный класс, создаваемый оператором Новый

Параметры

  • path: Путь к подключаемому сценарию
  • typeName: Имя типа, которое будет иметь новый класс. Экземпляры класса создаются оператором Новый.

Пример

bsl
ПодключитьСценарий("C:\file.os", "МойОбъект");
            А = Новый МойОбъект();

ЗагрузитьСценарийИзСтроки / LoadScriptFromString

Создает экземпляр объекта на основании стороннего файла сценария. Загруженный сценарий возвращается, как самостоятельный объект. Экспортные свойства и методы скрипта доступны для вызова.

Параметры

  • code: Текст сценария
  • externalContext: Структура. Глобальные свойства, которые будут инжектированы в область видимости загружаемого скрипта. (Необязательный) Необязательный.

Пример

bsl
Контекст = Новый Структура("ЧислоПи", 3.1415); // 4 знака хватит всем
ЗагрузитьСценарийИзСтроки("Сообщить(ЧислоПи);", Контекст);

ЗагрузитьСценарий / LoadScript

Создает экземпляр объекта на основании стороннего файла сценария. Загруженный сценарий возвращается, как самостоятельный объект. Экспортные свойства и методы скрипта доступны для вызова.

Параметры

  • path: Путь к подключаемому сценарию
  • externalContext: Структура. Глобальные свойства, которые будут инжектированы в область видимости загружаемого скрипта. (Необязательный) Необязательный.

Пример

bsl
Контекст = Новый Структура("ЧислоПи", 3.1415); // 4 знака хватит
// В коде скрипта somescript.os будет доступна глобальная переменная "ЧислоПи"
Объект = ЗагрузитьСценарий("somescript.os", Контекст);

ПодключитьВнешнююКомпоненту / AttachAddIn

Подключает внешнюю сборку среды .NET (*.dll) и регистрирует классы 1Script, объявленные в этой сборке. Публичные классы, отмеченные в dll атрибутом ContextClass, будут импортированы аналогично встроенным классам 1Script. Загружаемая сборка должна ссылаться на сборку ScriptEngine.dll Также подключает вншение компонеты, разработанные по технологии Native API, поставляемые в виде отдельных DLL или упакованные в ZIP-архив.

Параметры

  • dllPath: Путь к внешней компоненте
  • name: Символическое имя подключаемой внешней компоненты (только для Native API) Необязательный.
  • type: Тип подключаемой внешней компоненты (для совместимости, необязательно) Необязательный. Значение по умолчанию: OneScript

Пример

bsl
//Подключает внешнюю сборку среды .NET (*.dll)
ПодключитьВнешнююКомпоненту("C:\MyAssembly.dll");
КлассИзКомпоненты = Новый КлассИзКомпоненты(); // тип объявлен внутри компоненты
//Подключает вншение компонеты Native API, упакованные в ZIP-архив
ПодключитьВнешнююКомпоненту("C:\AddInNative.zip", "AddInNative");
ЭкземплярВнешнейКомпоненты = Новый ("AddIn.AddInNative.NativeComponent", ТипВнешнейКомпоненты.Native);
//Подключает вншение компонеты Native API в виде отдельных DLL-файлов
ПодключитьВнешнююКомпоненту("C:\AddInNative.dll", "SimpleAddIn", ТипВнешнейКомпоненты.Native);
ЭкземплярВнешнейКомпоненты = Новый ("AddIn.SimpleAddIn.SimpleComponent");