DWScript: как я получаю Результат после Требования

Хорошо, я полностью плохо знаком с DWScript. На данный момент я очарован его способностями, но хотя я прочитал все страницы в сопровождающей Wiki и вопросах/ответах здесь, я все еще не могу найти способ извлечь результат после того, как функция вызвана от Дельфи как это:

  func := m_dwsExec.info.Func[funcname];
  func.call(params);

и затем я застреваю: exec.result.toString ничего не дает мне. Пока я вижу, что у меня нет никакого , Результат в исполнительном объекте и вот почему очищая пункты от сценария складывает результат, удаляется и теряется. Пожалуйста, совет меня на том, что надлежащий путь состоит в том, чтобы сделать эту простую задачу?

6
nl ja de
Добро пожаловать в Переполнение стека. It' s большой вы нашли ответ на свой вопрос, но, пожалуйста, напишите ответ в разделе answer , ниже.
добавлено автор Rob Kennedy, источник
Я вижу, это имеет смысл. Спасибо.
добавлено автор Nedko, источник

1 ответы

Править:

Поскольку Эрик Грэндж, указанный в комментариях ниже наиболее успешной практики, похож на это:

  func := m_dwsExec.info.Func[funcname];
  info := func.call(params);
  funcresult := info.ValueAsString; //or Value, ValueAsInteger, etc.

Оригинальный ответ:

Хорошо я нашел ответ - недостающий результат расположен в данные собственность возвращенного IInfo объект:

  func := m_dwsExec.info.Func[funcname];
  info := func.call(params);
  funcresult := info.data[0]
7
добавлено
Как вы, возможно, видели, реальная документация находится буквально в сотни тестовых сценариев единицы, которые Эрик создал в папке Test. Это может казаться пугающим сначала, но каждый случай довольно прост и будет часто показывать вам путь.
добавлено автор Brian Frost, источник
Для простых типов у вас есть методы Стоимости и ValueAsXxx. Данные [] множество для более сложных случаев или когда вы хотите прямой доступ к вариантам.
добавлено автор Eric Grange, источник
Btw, it' s также зарегистрированный в code.google.com/p/dwscript/wiki/FirstSteps, в параграфе "Функций"
добавлено автор Eric Grange, источник
@EricGrange да, it' s там действительно - моя ошибка
добавлено автор Nedko, источник
Delphi & Lazarus
Delphi & Lazarus
274 участник(ов)

Чат про Delphi и Lazarus