|
Вопрос # 2 146/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня возникла необходимость выполнить
код который сохранен(содержится) в строке
Например:
s:string;
s:='if(a) then form1.caption:='true';';
Возможно ли это в делфи
 |
Вопрос задал: Anderson N.N (статус: 2-ой класс)
Вопрос отправлен: 1 декабря 2008, 00:26
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Anderson N.N!
Классический ответ звучит так: "Нет, никак, Делфи не является скриптовым языком." Обычно это есть "достаточно правильным" ответом.
Но программерская мысль не стоит на месте. И проблема, хоть и частично, но решена. В библиотеке JVCL, которую я рекламирую активно, есть серия компонентов, которые реализуют интерпретацию делфиподобного кода. Делфиподобного, потому что реализуются далеко не все возможности, которые есть в Делфи, но я не думаю, что Вы их найдёте быстро:)
После установки библиотеки, компоненты для этого дела находяться на вкладке JvInterpretator (Могу малость ошибиться в названии, но надо искать визуально - не смажете).
Рассказывать как делать всё - долго, тем более это зависит от того кода, который хочеться Вам запустить. Но к счастью, с библиотекой идёт серия примеров и к этой серии компонентов очень неплохие. Там есть примеры, как обращаться к элементам формы.
Что бы не быть вовсе голословным, ищите примеры в папке jvcl/examples/RaLib, папки для Вас - RaInterpreter, RaInterpreterDynamicLoad, RaInterpreterEndUser, RaInterpreterMDI, RaInterpreterNotepad. Изучите их, и Вы сможете делать чудные вещи.
Сразу предупрежу, что интерпретатор не знает ни о чем, о своем приложении, и поэтому прийдётся писать процедуру-переходник (в примерах найдёте), в которой по запросу "дай форму 1", надо будет отдать ссылку на эту форму.
З.Ы. Вообще то у нас принято обращаться на Вы. Ну просто принято.
З.Ы.Ы. Также принято оценивать/коментировать/критиковать в минифорумах. Традиции...
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 1 декабря 2008, 01:40
Оценка за ответ: 3
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 3 декабря 2008, 00:05; участников в обсуждении: 1.
|
Вадим К (статус: Академик), 3 декабря 2008, 00:05 [#1]:
А прокомментировать оценку можно?
Или вариант ответа "нет, нельзя", который скорее всего дадут на других форумах не удоволетворил Вас?
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|