import{_ as i,c as a,a3 as t,o as n}from"./chunks/framework.CUlkWZrb.js";const g=JSON.parse('{"title":"Динамическое подключение сценариев","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"syntax/DynamicLoadingFunctions.md","filePath":"syntax/DynamicLoadingFunctions.md"}'),h={name:"syntax/DynamicLoadingFunctions.md"};function l(e,s,p,k,r,d){return n(),a("div",null,s[0]||(s[0]=[t(`
Динамическое подключение сценариев
Подключает сторонний файл сценария к текущей системе типов. Подключенный сценарий выступает, как самостоятельный класс, создаваемый оператором Новый
ПодключитьСценарий("C:\\file.os", "МойОбъект");
А = Новый МойОбъект();Создает экземпляр объекта на основании стороннего файла сценария. Загруженный сценарий возвращается, как самостоятельный объект. Экспортные свойства и методы скрипта доступны для вызова.
Контекст = Новый Структура("ЧислоПи", 3.1415); // 4 знака хватит всем
ЗагрузитьСценарийИзСтроки("Сообщить(ЧислоПи);", Контекст);Создает экземпляр объекта на основании стороннего файла сценария. Загруженный сценарий возвращается, как самостоятельный объект. Экспортные свойства и методы скрипта доступны для вызова.
Контекст = Новый Структура("ЧислоПи", 3.1415); // 4 знака хватит
// В коде скрипта somescript.os будет доступна глобальная переменная "ЧислоПи"
Объект = ЗагрузитьСценарий("somescript.os", Контекст);Подключает внешнюю сборку среды .NET (*.dll) и регистрирует классы OneScript, объявленные в этой сборке. Публичные классы, отмеченные в dll атрибутом ContextClass, будут импортированы аналогично встроенным классам OneScript. Загружаемая сборка должна ссылаться на сборку ScriptEngine.dll Также подключает вншение компонеты, разработанные по технологии Native API, поставляемые в виде отдельных DLL или упакованные в ZIP-архив.
//Подключает внешнюю сборку среды .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");