Перейти к содержимому

Фотография

Запуск из TestComplete функции, имя которой заранее неизвестно


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 ksena

ksena

    Активный участник

  • Members
  • PipPip
  • 99 сообщений
  • Город:Харьков


Отправлено 04 февраля 2011 - 17:22

Добрый день, коллеги.
Проблема: нужно запустить процедуру имя которой неизвестно. Т.е. есть некий юнит, в нем есть процедуры, которые названы по шаблону: юнит+имя теста(стринга), запускать эти процедуры нужно по определенному условию, поэтому указать вызов процедуры напрямую нельзя.
Собственно вопрос, как преобразовать строку в объект так, чтобы этот объект(процедуру) можно было запустить. Evaluate к пребольшому сожалению такого не делает. Буду благодарна любой идее...
  • 0

#2 Dmitry N

Dmitry N

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 742 сообщений
  • ФИО:Николаев Дмитрий
  • Город:Где-то в России

Отправлено 05 февраля 2011 - 09:10

Здравствуйте.

Evaluate, а точнее его инкарнации в разных языках (Вы не указали используемый язык) должны работать. Например, для JScript:
var unitName = "myUnit";
var routineName = "myRoutine";
eval("var myResult = " + unitName + "." + routineName + ";");

  • 1
С уважением,
Дмитрий

#3 ksena

ksena

    Активный участник

  • Members
  • PipPip
  • 99 сообщений
  • Город:Харьков


Отправлено 05 февраля 2011 - 09:16

Вы не указали используемый язык

Извиняюсь, DelphiScript.
Evaluate пробовала - не работает, там даже в доке написано что процедуры он не запускает, я вроде как нашла решение: runner.CallMethod('имя') - вроде работает... поганяю, посмотрю... :angel:
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных