Приспичило меня в одной из VCL программ использовать JS, так как наперед неизвестны были функции, которые нужно программировать, нужна была некоторая универсальность. Словом, в Memo пишем функцию на JS, о которой узнаем в последний момент, далее, в VCL программе, пользуемся её результатом. Информации на эту тему порядком! Чтобы не искать по 100 000 раз одно и тоже, решил записать решение в блоге.
Решение через Microsoft Script Control.Это решение я взял с блога Андрея, за что ему спасибо! Там, пожалуй этот момент лучше всего расписан. Вот, что мне нужно было – писать JS код, получать результат и двигаться дальше.
Итак, Component > Import Component > Import Active X Control
Далее
Далее
Далее, устанавливаем в Existing Package или новый, и в палитре инструментов у нас появляются новые компоненты. Нам нужен ScriptControl. Повторим пример Андрея, добавив TButton, TMemo и TScriptControl
1 2 3 4 5 |
procedure TJS_in_Delphi.RunJSClick(Sender: TObject); begin ScriptControl.Language:='JavaScript'; showmessage(ScriptControl1.Eval(memo1.Text)); end; |
В результате получим то, что хотели