Difference between revisions of "SaveFunctionToBuffer"

From SunFlurry wiki
Jump to: navigation, search
 
m (1 revision imported)
 
(No difference)

Latest revision as of 08:52, 7 February 2021

  SaveFunctionToBuffer (Системные функции)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверный аргумент, внутренняя ошибка
Визуальность:Нет

Функция производит экспорт в память компилированной функции. Функция возвращает буфер с содержимым подобным файлам с компилированными модулями системы. Как пример применения, при работе с внешними исходными текстами в файлах, их можно компилировать и сохранять на диске экспортированные в файлы результаты работы этой функции. В дальнейшем их можно загружать и выполнять без компиляции, ускоряя рабочий процесс.

Синтаксис

SaveFunctionToBuffer(<Компилированная функция (COMPILEDFUNCTION)>):<Экспортированная в память компилированная функция (BUFFER)>

Аргументы

  • <Компилированная функция (COMPILEDFUNCTION)> - Функция, полученная в результате компиляции с помощью функции Compile или в результате загрузки функцией LoadFunctionFromBuffer.

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

Возвращает буфер, содержащий экспортированную в память компилированную функцию.

Примеры

//Стр -- текстовый блок с исходным текстом
Стр:="Message(""Hello, world!"");";

aFunc:=Compile(Стр,1);
aBuf:=SaveFunctionToBuffer(aFunc);
aBuf.SaveToFile("c:\testfile.bin");

bBuf:=Buffer.Create();
bBuf.LoadFromFile("c:\testfile.bin");
bFunc:=LoadFunctionFromBuffer(bBuf);

//В лог клиента будет выведено "Hello, world!"
Exec(bFunc);