Difference between revisions of "LoadFunctionFromBuffer"
m (1 revision imported) |
1>Admin |
||
| Line 17: | Line 17: | ||
== Синтаксис == | == Синтаксис == | ||
<code> | <code> | ||
| − | '''LoadFunctionFromBuffer'''(''<Экспортированная в память компилированная функция (BUFFER, STRING)>''):''<Компилированная функция в виде объекта (COMPILEDFUNCTION)>'' | + | '''LoadFunctionFromBuffer'''(''<Экспортированная в память компилированная функция (BUFFER, STRING)>''{{Optional|,<Путь к исходному тексту (STRING),<Исходный текст (STRING)>}}):''<Компилированная функция в виде объекта (COMPILEDFUNCTION)>'' |
</code> | </code> | ||
==== Аргументы ==== | ==== Аргументы ==== | ||
* <code>''<Экспортированная в память компилированная функция (BUFFER, STRING)>''</code> - Буфер с экспортированной в память функцией, либо ANSI строка, содержащая байты экспортированной функции. | * <code>''<Экспортированная в память компилированная функция (BUFFER, STRING)>''</code> - Буфер с экспортированной в память функцией, либо ANSI строка, содержащая байты экспортированной функции. | ||
| + | * <code>''<Путь к исходному тексту (STRING)>''</code> - {{Optional}} Аргумент задает путь и название файла и указывает на исходный текст на диске (в формате sf), который будет загружен и показан в отладчике. Если этот или последующий аргументы не указаны, исходный текст не будет доступен в отладчике, что может быть неудобным при отладке ошибок. | ||
| + | * <code>''<Исходный текст (STRING)>''</code> - {{Optional}} Аргумент задает исходный текст, функция которого была загружена из буфера. Исходный текст будет загружен и показан в отладчике, если отладка будет производиться. Если этот или предыдущий аргументы не указаны, исходный текст не будет доступен в отладчике, что может быть неудобным при отладке ошибок. Обычно задается или путь к исходному тексту или сам исходный текст, задание и того и другого возможно, но будет всегда использован третий аргумент, как более приоритетный. | ||
==== Возвращаемое значение ==== | ==== Возвращаемое значение ==== | ||
Revision as of 13:06, 10 September 2022
| LoadFunctionFromBuffer (Системные функции) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция производит импорт из памяти экспортированной ранее с помощью SaveFunctionToBuffer компилированной функции. Функция возвращает объект аналогичный результату функции Compile, который можно использовать многократно с функциями Exec и ExecEx.
Синтаксис
LoadFunctionFromBuffer(<Экспортированная в память компилированная функция (BUFFER, STRING)>,<Путь к исходному тексту (STRING),<Исходный текст (STRING)>):<Компилированная функция в виде объекта (COMPILEDFUNCTION)>
Аргументы
<Экспортированная в память компилированная функция (BUFFER, STRING)>- Буфер с экспортированной в память функцией, либо ANSI строка, содержащая байты экспортированной функции.<Путь к исходному тексту (STRING)>- (необязательный аргумент) Аргумент задает путь и название файла и указывает на исходный текст на диске (в формате sf), который будет загружен и показан в отладчике. Если этот или последующий аргументы не указаны, исходный текст не будет доступен в отладчике, что может быть неудобным при отладке ошибок.<Исходный текст (STRING)>- (необязательный аргумент) Аргумент задает исходный текст, функция которого была загружена из буфера. Исходный текст будет загружен и показан в отладчике, если отладка будет производиться. Если этот или предыдущий аргументы не указаны, исходный текст не будет доступен в отладчике, что может быть неудобным при отладке ошибок. Обычно задается или путь к исходному тексту или сам исходный текст, задание и того и другого возможно, но будет всегда использован третий аргумент, как более приоритетный.
Возвращаемое значение
Возвращает новый объект компилированной функции, который можно исполнить с помощью функций Exec и ExecEx.
Примеры
//Стр -- текстовый блок с исходным текстом
Стр:="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);