Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1133631394
CMOS
2005-12-03 20:36
2006.01.15
PrintScreen


1-1134136957
diwww
2005-12-09 17:02
2006.01.15
Как сделать недоступной кнопку Х (закрыть окно) в заголовке окна?


2-1135532931
Aleks
2005-12-25 20:48
2006.01.15
Есть каталог (папка), необходимо узнать сколько папок находится в


2-1135228892
Alex2
2005-12-22 08:21
2006.01.15
Динамические массивы


2-1135374392
JEK2
2005-12-24 00:46
2006.01.15
картинку в RichEdit




   Наверх