![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
мда... не дочитал. А, собственно, как это - любые? То есть - программа говорит скрипту "на тебе что-то, сама не знаю что", а скрипт, совершенно не представляя, что же ему отдали, должен с этим что-то сделать нечто эдакое, да еще и вернуть другой набор чего-то, о чем в свою очередь программа не догадывается и -соответственно - не сможет использовать? |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Например, дан скрипт (любой). Мы его текст пропарсили и получили какие в нем есть переменные. Потом запустили и надо получить значения (конечные) этих переменных и, допустим, в мемо их вывели с = лялял, х = 10... Добавлено через 4 минуты и 58 секунд Вроде бы по описанию что нужно умеет FastScript, но пробник с оф. сайта работать не захотел. --------------------------- Delphi XE: bds.exe - Системная ошибка --------------------------- Запуск программы невозможен, так как на компьютере отсутствует Tee9150.bpl. Попробуйте переустановить программу. --------------------------- ОК --------------------------- [Window Title] Error [Content] Can't load package C:\DelphiXE\Fast\LibD15\dclfstee15.bpl. Не найден указанный модуль. Do you want to attempt to load this package the next time a project is loaded? [Yes] [No] |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Ввиду того, что твое приложение не знает, какие переменные есть в скрипте и, соответственно, - не имеет ни малейшего представления, что с ними делать дальше - не лучше ли будет сразу из скрипта выводить необходимые значения в тот же мемо и не заморачиваться на получение имен переменных в приложении? Можно даже не просто значения, а прямо текстовые описания предпринятых скриптом действий. Добавлено через 54 секунды То есть, получается - при запуске скрипта передали ему экземпляр мемо, а он пишет туда что хочет. |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Скрипт пишет пользователь, ему не нужно заморачиваться с выводом переменных.
Только если самому добавлять строки в скрипт, но это как-то не очень. Хотя на крайний случай как вариант. |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
kami, а как в RemObjects Samples\Pascal Script for Delphi\TestApp подключить memo...? Добавляю плагины импорта на компиляции скрипта Project TestApplication.exe raised exception class EPSCompilerException with message 'Unable to register type TDrawItemEvent'.
Т.е. как в Import\fMain.pas, только с PSScript. Вроде разобрался, в проекте с нуля заработало. Это сообщение отредактировал(а) klyaksa - 8.10.2013, 12:49 |
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Кстати, где можно глянуть что понимает RemObjects Pascal Script.
Можно ли как сразу инициализировать массивы? SysUtils можно подцепить или каждую надо отдельно и импортировать? Это сообщение отредактировал(а) klyaksa - 8.10.2013, 13:34 |
|||
|
||||
CynicRus |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
Там очень много чего можно. К сожалению документация унылая, и потому приходится курить исходники. Можно, например TSA:=['string','anotherstring'] и т.д. В самом скрипте. Что понимает PascalScript - тебе нужен модуль uPSCompiler. Открываешь его и смотришь, чего он понимает. За счёт того, что приходится втыкать самому в код, реализация чего либо дополнительного в PS проблематична, но возможна. Вот например реализация метода перевода любой зарегистрированной PS переменной в строку:
А вот реалиация Swap для 2 переменных:
Это сообщение отредактировал(а) CynicRus - 8.10.2013, 17:00 |
||||||
|
|||||||
kami |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
Я пробовал - константой объявить в скрипте не смог :( . А так хотелось...
Емнип, SysUtils подцепляется автоматом. По крайней мере я не задумывался над тем, что из плагинов нужно для (к примеру) StrToInt. А вообще - да, с документацией немножко плоховасто. Но для не слишком крутых задач имеющихся примеров хватает. Если что-то нужно - открываем uPSC_xxxxxxx.pas и смотрим, что PSScript узнает, подключив плагин. Сейчас ради интереса попробовал - в TestApp в скрипте можно написать
|
||||
|
|||||
CynicRus |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: нет Всего: 5 |
О, вчера забыл - а добавляется приведённый мной код в PS примерно вот так:
|
|||
|
||||
klyaksa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 187 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Из SysUtils не все работает. Например, не все функции преобразования флоат в строку.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |