SaveFunctionToBuffer

From SunFlurry wiki
Revision as of 17:13, 26 December 2020 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  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);