powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Python + Linux
25 сообщений из 55, страница 2 из 3
Delphi + Python + Linux
    #39581219
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vizit0rугу.

отправилось сильно быстро.

Мне лично очень жаль, что они так и не сделали поддержку мультиплатформенности на дельфы, только для FPC.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581276
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpVizit0rИз 10+ практики PascalScript показал себя как стабильный и вылизанный донельзя. Много чего не умеет, но то, что есть - работает на отлично.
Некоторые его решения меня ставят в тупик, как и некоторые моменты исходного кода. Если вы про RemObjects.
Из того что быстро вспоминается: зачем-то сделали так, что для классов, которые экспортируются в скрипт, можно сеттер для свойства назначить напрямую, а для геттера - обязательно нужно сделать обёртку, т.к. он по-умолчанию сделан в виде процедуры. Почему не сделать в виде функции, как в дельфи - непонятно.

Нормальный скриптер должен на входе получать только ссылку на класс, остальное брать по RTTI. Все специальные обертки в пекло.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581280
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovНормальный скриптер должен на входе получать только ссылку на класс, остальное брать по RTTI. Все специальные обертки в пекло.
И много есть таких нормальных скриптеров? Желательно ещё бесплатных? :)
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581290
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpasviridenkovНормальный скриптер должен на входе получать только ссылку на класс, остальное брать по RTTI. Все специальные обертки в пекло.
И много есть таких нормальных скриптеров? Желательно ещё бесплатных? :)

Понятия не имею. Но возможность очевидная и удобная, и не использовать ее странно.
Насчет бесплатности - осуждаемые здесь Pax и Fast - платные. Почти все приличные остальные - тоже. Откуда взяться бесплатному?
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581296
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovНасчет бесплатности - осуждаемые здесь Pax и Fast - платные. Почти все приличные остальные - тоже. Откуда взяться бесплатному?
Не знаю насчёт RTTI, но когда-то давно, когда я смотрел на FastScript, я так и не понял как там (и можно ли вообще) вызвать на исполнение только определённую процедуру из сценария и прочитать значение переменной после этого.
А, кстати, DWS2 вроде умеет в RTTI.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581306
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpasviridenkovНасчет бесплатности - осуждаемые здесь Pax и Fast - платные. Почти все приличные остальные - тоже. Откуда взяться бесплатному?
Не знаю насчёт RTTI, но когда-то давно, когда я смотрел на FastScript, я так и не понял как там (и можно ли вообще) вызвать на исполнение только определённую процедуру из сценария и прочитать значение переменной после этого.
А, кстати, DWS2 вроде умеет в RTTI.

Не знаю насчет фаста, но вызов отдельной процедуры с параметрами, мне кажется входит в минимальный минимум скриптеров. Вот асинхронный вызов (одновременно из разных потоков), это уже более интересная возможность.
В принципе нормальный скриптер должен позволять:
+ Выполнить тело скрипта
+ Выполнить функцию с параметрами и вернуть значение
+ Выполнить функцию с var/out параметрами
+ Вычислить произвольное выражение.

DWS умеет RTTI, но он вроде напрямую не работает, только в JS компилирует, не?
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581307
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovDWS умеет RTTI, но он вроде напрямую не работает, только в JS компилирует, не?
Работает. Компиляция в JS там как приятный бонус.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581313
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovalekcvpпропущено...

И много есть таких нормальных скриптеров? Желательно ещё бесплатных? :)

Понятия не имею. Но возможность очевидная и удобная, и не использовать ее странно.
Насчет бесплатности - осуждаемые здесь Pax и Fast - платные. Почти все приличные остальные - тоже. Откуда взяться бесплатному?

у пакса импорт классов совсем не через ртти. Более того, у пакскомпилятора импортер юнитов был рассчитан на что-то совсем древнее, после него юниты с импортом приходилось руками долго и нудно доводить до правильного состояния.

Так что теория и практика - это совсем разные вещи.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581345
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovНормальный скриптер должен на входе получать только ссылку на класс, остальное брать по RTTI. Все специальные обертки в пекло.
ИМХО: в корне неверно. Нормальный скриптер должен выполнять скрипт (компиляция, исполнение), иметь минимальную билиотеку (базовые типы и их поддержка, основная математика) и предоставлять "прозрачный контракт" на добавление своей библиотеки.

А вот всякие излишества вроде RTTI и прочей рефлексии должны быть в базовой библиотеке языка, который их предоставляет.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581354
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)А вот всякие излишества вроде RTTI и прочей рефлексии должны быть в базовой библиотеке языка, который их предоставляет.
И как без поддержки RTTI внутри, сделать ее снаружи? То же самое каждому самому писать?

Сферический скриптер в вакууме не нужен, людям нужно то что максимально соответствует принципу "воткнул и работает".
А писать по строчке на каждое свойство каждого класса - увольте. Автоматический импорт частично спасает ситуацию, но ставит вопрос синхронизации.

ЗЫ Некоторые еще и функции не умеют регистрировать без прослойки, вместо того чтобы написать что-то вроде
Код: pascal
1.
AddFunction('Cos(X: Extended): Extended', @Cos);



нужно еще функцию городить.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581425
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovИ как без поддержки RTTI внутри, сделать ее снаружи? То же самое каждому самому писать?
>>...и предоставлять "прозрачный контракт" на добавление своей библиотеки.
например, ActiveScripting (VBScript, JScript)
создал движок

добавил свои главные объекты (IDispatch), методы которых будут видны

запустил

Контрактом здесь является IDispatch, и в принципе под виндой довольно удобно, так как всё пляшет вокруг него. Обёрток к нему даже в базовой поставке дельфи, минимум 2 класса. Фактически выходит строчек на 100 для подцепки.

asviridenkovСферический скриптер в вакууме не нужен, людям нужно то что максимально соответствует принципу "воткнул и работает".
А писать по строчке на каждое свойство каждого класса - увольте. Автоматический импорт частично спасает ситуацию, но ставит вопрос синхронизации.Как раз полностью абстрактный и нужен, который полностью подчиняется главному приложению. Что бы оно не полезло куда не нужно. А такой навороченный - хз куда с помощью него можно полезть, хорошо если только в Math.


PS: + ещё очень желательно иметь возможность отладки, н-р те же движки ActiveScripting её поддерживают
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581672
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В новых Delphi RTTI действительно мощный
Например, у формы или какого угодно компонента есть событие. Так вот благодаря RTTI ты можешь получить не только имя, сеттер, геттер, но и параметры вызова, с учётом var, const и array of. А из скрипта всё это богатство можно вызвать. Я как раз бьюсь над этим последние пару месяцев.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581718
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

Вообще, вся эта информация была доступна с Delphi 6, просто удобных обёрток для неё небыло. А вот попробуй получить свойства advanced records и... обломись.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581735
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan) Что бы оно не полезло куда не нужно. А такой навороченный - хз куда с помощью него можно полезть, хорошо если только в Math.

PS: + ещё очень желательно иметь возможность отладки, н-р те же движки ActiveScripting её поддерживают

Что мешает добавлять только те классы которые нужно, плюс задавать видимость методов (public/protected)?

Отладка само собой, это не обсуждается. Интересна возможность удаленной отладки, чтобы можно было, скажем, скрипт внутри сервиса отлаживать, или на другой машине. Но такого у дельфовых скриптеров не видел.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581825
под ван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOUВ новых Delphi RTTI действительно мощный
Например, у формы или какого угодно компонента есть событие. Так вот благодаря RTTI ты можешь получить не только имя, сеттер, геттер, но и параметры вызова, с учётом var, const и array of. А из скрипта всё это богатство можно вызвать. Я как раз бьюсь над этим последние пару месяцев.
Так в чём его мощь, ежели ты бьёшься уже последние пару месяцев? Была бы реально мощь - ты бы сделал за неделю. Вот это мощь, понимаю
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581838
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
под ванSOFT FOR YOUВ новых Delphi RTTI действительно мощный
Например, у формы или какого угодно компонента есть событие. Так вот благодаря RTTI ты можешь получить не только имя, сеттер, геттер, но и параметры вызова, с учётом var, const и array of. А из скрипта всё это богатство можно вызвать. Я как раз бьюсь над этим последние пару месяцев.
Так в чём его мощь, ежели ты бьёшься уже последние пару месяцев? Была бы реально мощь - ты бы сделал за неделю. Вот это мощь, понимаю

Скорее всего он пытается сделать прямой вызов методов, без использования довольно тормознутых Invoke, а там возни хватает, особенно если не только x32 поддерживать.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581852
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Именно
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581855
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ждем самого быстрого в мире скриптового языка))
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581856
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Если я ничего не путаю, то в Delphi 6 ты не видишь TypeInfo аргументов функции. Или я заблуждаюсь? Накатай примерчик.

Насчёт свойств структур не помню. Но поля находятся без проблем
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581861
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkov,

Для самого быстрого нужен JIT
Ну и потом, скорее всего я CrystalLUA отложу в пользу менеджера памяти. Слишком много я отдал скриптовику, и слишком давно не посвящал времени менеджеру :)
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581871
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovбез использования довольно тормознутых Invoke
Если я правильно помню, там основные тормоза от TValue. Но даже в таком виде Invoke быстрее мамонтового ObjectInvoke раз в семь :)

SOFT FOR YOUИменно
Опять на фигню время тратишь...

SOFT FOR YOUЕсли я ничего не путаю, то в Delphi 6 ты не видишь TypeInfo аргументов функции. Или я заблуждаюсь?
C Delphi 7 всё это можно получить.

SOFT FOR YOUНакатай примерчик.
http://hallvards.blogspot.ru/2006/09/extended-class-rtti.html

SOFT FOR YOUНо поля находятся без проблем
Поля не свойства.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581872
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUДля самого быстрого нужен JIT
И он есть в DWS.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581877
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, есть ещё один быстрый скриптер , и даже с поддержкой указателей.
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581887
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Интересная статейка, но это методы, а не события. Ты попробуй TypeInfo параметров события получить.
А что до фигни... ну каждый программирует что хочет :)

Мне всегда был интересен механизм вызова функций на разных платформах. Не думал, что там столько нюансов! Ну и потом на старых Delphi нет TValue, мне нужно было что-то своё. Это даже если не учитывать его тормознутость :)
...
Рейтинг: 0 / 0
Delphi + Python + Linux
    #39581900
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUА что до фигни... ну каждый программирует что хочет :)
Не, если тут дело в поддержке старых версий, то вопросов нет ;)
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Python + Linux
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]