#delphi #dwscript
#delphi #dwscript
Вопрос:
Визуализация этого кода сценария:
procedure A;
begin
CallToDelphi;
end;
procedure B;
begin
// do something
end;
Я предоставил скрипту процедуру «CallToDelphi». Итак, когда она вызывается, я возвращаюсь из script в свой код Delphi. Теперь я хочу вызвать процедуру скрипта «B» из моего кода Delphi.
Я думаю, что это должно быть скрыто в IdwsProgramExecution-Context. Но я пока ничего не нашел. Я ищу что-то подобное:
procedure CallToDelphi;
begin
Exec.Invoke('B', []); // Exec is IdwsProgramExecution
end;
Возможно ли это каким-то образом?
Ответ №1:
То, что вы ищете, вероятно, это интерфейс IInfo, который можно использовать как
Exec.Info.Func['B'].Call([])
В есть еще несколько примеровhttp://code.google.com/p/dwscript/wiki/FirstSteps (прокрутите вниз до функции), а также некоторый код использования в модульных тестах (в частности, UdwsUnitTests, см. Метод CallFunc).
IInfo служит на стороне Delphi в качестве основного способа запрашивать RTTI, вызывать функции, напрямую получать / устанавливать переменные, создавать экземпляры объектов на стороне скрипта и т.д. Большая часть примера кода для этого в настоящее время находится в модульных тестах.
Комментарии:
1. Спасибо. Я уже просмотрел модульные тесты, но не нашел его. Спасибо за ваше руководство. Теперь все ясно. Это именно то, что я искал.