Вниз
Скачать: CL | DM;

помогите написать скрипт-движок   Найти похожие ветки 

 
gray_falcon ©   (2007-07-27 14:07) [0]

В общем проблема такая: мне нужен быстрый скрипт-движок, который бы позволил реализовать методы объектов своими средствами. Короче есть некоторый класс в котором N переменных для хранения скриптов. При создании экземпляра класса скрипты загружаются из некоторого файла в соответствующие переменные. А затем по порядковому номеру вызываются.
Вот и вопрос как мне сделать этот двигатель. Скрипт представляет собой последовательность байтов, где каждая команда занимает X байт. Я не могу придумать как прочитав, (допустим, 2 байта) вызвать нужную команду, (например уничтожить экземпляр), из библиотеки готовых команд.


 
Сергей М. ©   (2007-07-27 14:14) [1]


> gray_falcon


Чем не угодил готовый FastScript (в составе, например, FastReport) ?


 
gray_falcon ©   (2007-07-28 01:12) [2]

Я не спрашивал как использовать готовые, а как реализовать именно свой. Мне просто надо узнать как вызвать определенную функцию через двубайтовое число. Называть функции по таким числовым именам, а потом вызывать по имени мне показалось извращением. А если составить массив, в котором под номером данной функции будет указатель на подпрограмму я до конца не могу правильно написать код, т.е. опят же не знаю как организовать вызов процедуры.


 
Leonid Troyanovsky ©   (2007-07-28 12:31) [3]


> gray_falcon ©   (28.07.07 01:12) [2]

> не могу правильно написать код, т.е. опят же не знаю как
> организовать вызов процедуры.


type
  TFunc = function (param: Extended): Extented;
var
 funcs: array[0..MaxFnCnt] of TFunc;
..
 funcs[0] := @f0; // заполняем массив адресами вызываемых функций
 funcs[1] := @f1;
 ..  
 y := funcs[i](x); // вызов i фукнкции.


> Я не спрашивал как использовать готовые, а как реализовать
> именно свой.

Лучше, все же, использовать готовые.
См., например, на сайте by Anatoly Podgoretsky статью
Анатолия Тенцера "Использование Microsoft ScriptControl"

--
Regards, LVT.



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

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



Память: 0.46 MB
Время: 0.014 c
3-1177314557
Сергей М.
2007-04-23 11:49
2007.08.19
Интерфейс объекта VisualFoxPro.Application в составе vfpXr.dll


3-1178081249
pavel_guzhanov
2007-05-02 08:47
2007.08.19
Не пойму, почему долго работает следующий код


4-1172572399
LENIN_INC
2007-02-27 13:33
2007.08.19
LENIN INC WIN32API Library v1.2 (build 23.08.2006)


1-1181179291
Igor_K_A
2007-06-07 05:21
2007.08.19
Обработка Bitmap двумя Thread


4-1173091631
Углук
2007-03-05 13:47
2007.08.19
Странность с вызовом функции из DLL




   Наверх