Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа со скриптами, neeed some help 
:(
    Опции темы
Monty
Дата 20.9.2003, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Vit @ 20.9.2003, 00:18)
Halt, Exit не пробовал?

Vit не совсем так smile.gif ... про эти команды я знаю .... вот код:
Код
......
JvInterpreterProgram.Pas.LoadFromFile('c:\unit1.pas');
JvInterpreterProgram.Run;
.....
//А теперь по какой-то причине надо завершить работу скрипта
//JvInterpreterProgram.Exit - нет такого :(
//JvInterpreterProgram.Stop - нет такого :(
//JvInterpreterProgram.Close - нет такого :(
//JvInterpreterProgram.Terminate - нет такого :(


JvInterpreterProgram.Free - не красиво получается, выскакивает окно с ошибкой ......... и больше как незнаю

....... получается JvInterpreterProgram.Run - это машина без тормозов smile.gif

Это сообщение отредактировал(а) Monty - 20.9.2003, 03:34


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Vit
Дата 20.9.2003, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Понял, не знаю, надо в исходники лезть... Попробуй просто текст скрипта убить, может поможет...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Monty
  Дата 22.9.2003, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



У меня еще ряд вопросов smile.gif
Ну ни как не получется создать свой как бы виртуальный модуль, допустим я копирую модуль JvInterpreter_System.pas под другим названием JvInterpreter_MyFunctions.pas, убираю от туда все, но оставляю подходящии функции по количесту аргументов, например,
было:
Код
procedure JvInterpreter_Random(var Value: Variant; Args: TArgs);
begin
 Value := Random(Integer(Args.Values[0]));
end;

стало:
Код
procedure JvInterpreter_Sleep(var Value: Variant; Args: TArgs);
begin
 Sleep(Integer(Args.Values[0]);
 Value := Null; //можно и не ставить ...............
end;

потом пишу:
Код
procedure RegisterJvInterpreterAdapter(JvInterpreterAdapter: TJvInterpreterAdapter);
begin
 with JvInterpreterAdapter do
 begin
   AddFun('MyFunctions', 'Sleep', JvInterpreter_Sleep, 1, [varInteger], varEmpty);
end;
end; { RegisterJvInterpreterAdapter }

Но результата нет sad.gif .......... я точно что-то не так сделал! hmmm.gif

Добавленно:
И ни чего не получается ... и класс добавить не могу .......... и у себя в проектe прописываю JvInterpreter_MyFunctions .... и в том коде что выполняется интерпритатором hmmm.gif

Это сообщение отредактировал(а) Monty - 22.9.2003, 19:26


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Vit
Дата 23.9.2003, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Посмотри что они там пишут в секции Initialization модулей, может там собака порылась, вообще возьми их функцию и тщательно по всему их коду поищи её название, может оно где фигурирует и объявление функции недостаточно


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Monty
  Дата 23.9.2003, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(Vit @ 23.9.2003, 05:17)
Посмотри что они там пишут в секции Initialization модулей, может там собака порылась, вообще возьми их функцию и тщательно по всему их коду поищи её название, может оно где фигурирует и объявление функции недостаточно

Vit smile.gif .......... я забыл поставить
Код
JvInterpreter_MyFunctions.RegisterJvInterpreterAdapter(GlobalJvInterpreterAdapter);

Я же видел это, а свой модуль не прописал smile.gif

Теперь все работает ...... спасибо wink.gif

Это сообщение отредактировал(а) Monty - 23.9.2003, 19:40


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
dm9
Дата 25.9.2003, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Привет!

Я тоже заинтересовался интерпретатором smile.gif

Код
JvInterpreterProgram1.Pas := Memo1.Lines;
JvInterpreterProgram1.Run;


Memo1 содержит:
Цитата
unit dm9dm9dm9;

procedure main;
begin
   showmessage ('Hello, World!!!');
end;

end.


Выдаётся: function 'main' undefined sad.gif



То же самое:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
  X : Integer;
begin
  JvInterpreterProgram1.Pas := Memo1.Lines;
  X := JvInterpreterProgram1.CallFunction ('MyPlus', nil, [10, 20]);
  ShowMessage (IntToStr (X));
end;


Memo1:
Цитата
unit JvInterpreterFunctionCall;

function MyPlus(A, B: Integer): Integer;
begin
  Result := A + B;
end;

end.


Теперь: Undeclarate identifer 'MyPlus'...

Что я делаю не так?

Это сообщение отредактировал(а) dm9 - 25.9.2003, 16:53
PM MAIL ICQ   Вверх
Monty
Дата 25.9.2003, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



smile.gif

Я такое же получил когда скачал JEDI VCL 2.10 ......... там интерпритатор у меня не работает и выдает странные ошибки !!! ........... НО JEDI VCL 2 BETA работает отлично не смотря на то что она бэта biggrin.gif

........ у тебя все верно ..... и это из демо smile.gif ......... прикольно, когда ихняя же демо не работает tounge.gif

PS я сначло думал что это я криво поставил smile.gif ....... оказывается нет wink.gif

PPS а кто может им написать насчет этого бага? я энглиш не знаю sad.gif ..... да и не хорошо как то, ведь эта версия не бэта, еслиб была бэта было бы понятно ...... к тому же я посмотрел, они в новой версии просто переименовали класс TArg в TJvcInterpreter_Arg .... как то так, но все равно он не функционирует ;(

Это сообщение отредактировал(а) Monty - 25.9.2003, 23:55


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
dm9
Дата 25.9.2003, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Спасибо, скачаю 2.0 beta. smile.gif

Теперь ещё вопрос: а нету ли справочки по компоненту? По этому интерпретатору и по некоторым другим компонентам ни в одном hlp я ничего не нашёл... Что, только по демкам изучать?
PM MAIL ICQ   Вверх
Monty
Дата 26.9.2003, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



Цитата(dm9 @ 25.9.2003, 22:59)
Спасибо, скачаю 2.0 beta. smile.gif

Теперь ещё вопрос: а нету ли справочки по компоненту? По этому интерпретатору и по некоторым другим компонентам ни в одном hlp я ничего не нашёл... Что, только по демкам изучать?

Ага ... по демкам и методом тыка smile.gif ............. лично я смотрю дэмки, полазил по файлу JvInterpreter_Classes.pas и т.д. .... так там всё ясно ....... и загляни в файл JvInterpreter_all.pas wink.gif ........ вот я понял в чем ошибка когда его просмотрел smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
dm9
Дата 28.9.2003, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 6
Всего: 137



Вроде, работает smile.gif

У меня появился новый вопрос: как (если это возможно) использовать внутри скрипта подпрограммы, написанные в этом же скрипте?

Так не работает:

Код
unit dm9dm9dm9;

procedure DDD;
begin
  ShowMessage ('Hello, World!!!');
end;

procedure Main;
begin
  DDD;
end;

end.


А так вообще ошибку выдаёт sad.gif:

Код
unit dm9dm9dm9;

procedure Main;

procedure DDD;
begin
  ShowMessage ('Hello, World!!!');
end;

begin
  DDD;
end;

end.


Это сообщение отредактировал(а) dm9 - 28.9.2003, 02:52
PM MAIL ICQ   Вверх
Monty
Дата 29.9.2003, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

Репутация: нет
Всего: 27



dm9, а твой код у меня работает wink.gif
Код
unit dm9dm9dm9;

procedure DDD;
begin
 ShowMessage ('Hello, World!!!');
end;

procedure Main;
begin
 DDD;
end;

end.

Посмотри Дэмос, а именно проект ".....\JeDi\JVCL\examples\RALib\RaInterpreter\JvInterpreterTest.dpr"

PS Удивление прошло, но восхищение осталось smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
daemonaz
Дата 11.3.2012, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Мне нужна помощь, как предоставить набор готовых функции пользователям для написания собственных скриптов и причем самых необходимых, затем по нажатию кнопочки этот скрипт запустить? ну например написать скрипт заливки прошивки в микроконтроллер через COM-порт, есть функция отправки по протоколу XModem xmodem_send(), ожидания символа по таймауту wait () и run() для запуска прошивки, вот так получится скрипт

wait(RedBoot); // ждем строку RedBoot
XModem_send(software.bin); // отправка файла
sleep(1000); //пауза

Как это все можно сделать с помошью JvInterpreterProgram?  
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.