Innerfuse Pascal Script — встраиваемый в приложение
"движок" для выполнения скриптов непосредственно в программе.
НазваниеInnerfuse Pascal ScriptURLhttp://www.carlo-kok.com/projects.php?projectname=pascalscriptРаспространение
FreeWare
Поддерживает:
стандартные типы: Byte, Shortint, Char, Word, SmallInt, Cardinal, Longint,
Integer, String, Real, Double, Single, Extended, Comp, Boolean, Array, Record,
Variant;
классы (также объявленные во внешнем скрипте);
переменные, константы;
библиотеки для работы с DLL, вызова функций Delphi, преобразований типов,
работы с визуальными объектами;
стандартные выражения: Begin/End, If/Then/Else, For/To/Downto/Do, Case x
Of, Repeat/Until, While, With, Uses, Try/Except/Finally Exit, Continue, Break;
функции, процедуры, параметры Array of Const, Var;
позволяет одновременно в одном приложении запускать несколько экземпляров
PascalScript и при этом каждый из них могут между собой иметь интерфейс.
Как пишет автор, синтаксис Innerfuse Pascal Script
является практически тем же, что и в Delphi Object Pascal за
исключением указателей, которые в данном продукте не поддерживаются.
Сам "движок" не является компонентом, это - набор модулей (ifspas
(основной), ifs_utl, ifs_var, ifs_obj). Чтобы его использовать в своём
приложении, нужно:
uses
ifspas, ifs_utl, ifs_var;
var
ScriptEngine: TIFPasScript;
//В событии onCreate формы:
ScriptEngine := TIfPasScript.Create(nil);
//В событии OnDestroy формы:
ScriptEngine.Free;
//В событии, по котоорому запускается скрипт (исключая редактор,//который содержит текст скрипта):
ScriptEngine.SetText(memo1.text);
Scriptengine.RunScript;
//Теперь можно осуществлять проверку ошибок
Наличествует обработка ошибок с помощью типа TIFSError.
TIFSError используется для запоминания текущей ошибки, выданной
при работе скрипта.
Имеется возможность выполнения основных
математических операций, набор функций преобразований типов и работы со
строками, классы, подобые TList и TStringList.
При работе с классами поддерживаются свойства, наследование, полиморфизм.
Очень многие возможности продемонстрированы в демо-проекте, имеется
довольно подробный файл помощи, содержащий описание основных модулей и типов.
Резюме: довольно мощный инструмент для приложений, в
которых необходимо выполнять программирование "на лету". По всей видимости,
вполне способен устранить необходимость использования в своих приложениях MS
Script Control для подобных действий. Проект постоянно развивается, периодически
выходят обновления с исправлениями обнаруженных ошибок, а также с добавлениями
новых возможностей.
При беглом обзоре возможностей продукта явных недостатков обнаружено не
было, если не считать мелких недочётов в демо-скриптах (в некоторых пропущены
строки, из-за чего скрипт не работал, а выдавал сообщение об ошибке, но эти
недочёты в принципе очевидны, поэтому без труда устраняются).
В статье описан Innerfuse Pascal Script - встраиваемый в приложение 'движок' для выполнения скриптов непосредственно в программе с поддержкой стандартных типов, классов, переменных, констант и функций.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.