Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Реализация скриптового движка   Найти похожие ветки 

 
XCoder ©   (2005-12-17 16:38) [0]

Решил написать скриптовой движек. Прога читает скрипт из файла и составляет некий промежуточный код, который потом выполняется. И вот столкнулся я с подводными камнями. Хотелось бы узнать мнения по таким вопросам:
1) Хранение указателей на функции в StringList. Где-то мне попадалась статья, в которой говорилось, что можно не использовать для регистрации функций в StringList процедурку типа RegisterProc(Name: String; Proc: Pointer), а обявлять их с директивой far.
2) Как лучше реализовать работу с переменными в скрипте? Я когда то делал простенький движок, в нем промежуточный код представлял массив записей, в котором хранился индекс функции в StringList и параметры, но при работе с переменными такой механизм не катит.
3) Как хранить параметры функций? Раньше я делал нечто вроже:
TScriptMethod = record
Index: Word; //Индекс в StringList
Params: array[0..3] of String; //Массив параметров
При такой реализации можно работать с числами и строками, но с объектными переменными невозможно. Как исправить этот недостаток?
Заранее благодарен.


 
Leonid Troyanovsky ©   (2005-12-19 08:29) [1]


> XCoder ©   (17.12.05 16:38)  
> Решил написать скриптовой движек. Прога читает скрипт из
> файла и составляет некий промежуточный код, который потом
> выполняется. И вот


У Анатолия Подгорецкого на сайте есть самое полное издание
Анатолия Тенцера, см. где-то 7 том:
использование Microsoft ScriptControl.

Т.е., все уже реализовано до нас.

--
Regards, LVT.


 
ORMADA ©   (2005-12-19 09:32) [2]

Pascal Script


 
Rule ©   (2005-12-19 11:05) [3]

я бы порекомендовал Fast Script


 
имя   (2005-12-26 10:13) [4]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2006.01.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1132575352
Stanislav
2005-11-21 15:15
2006.01.15
ADO вызов окна настройки подключения


2-1135256872
Dysan
2005-12-22 16:07
2006.01.15
помогите разобраться!


1-1134135702
TBeginner
2005-12-09 16:41
2006.01.15
TListView теряет первый символ


14-1134672016
YurikGL
2005-12-15 21:40
2006.01.15
Друг попросил задачку решить


6-1128578717
Ботвин Дмитрий
2005-10-06 10:05
2006.01.15
Отличия в работе