Несколько вопросов

отредактировано March 2013 Раздел: FastScript

- Есть простейший код:
procedure echo(x:variant);
begin
  Log(x, LOG_INFO);
end;

var
  i:integer;
begin     
  ScriptYieldTime := 10;      
  for i := 0 to 205 do begin
    echo(i);            
  end;
end.

Если установить i через:
nScript(FScript).Engine.Variables[name] := v;
То через 1 цикл её значение всё равно вернется к прежнему, которое работает с циклом.

Смысл тогда установки значения переменной?
Как правильно устанавливать значение чтобы оно не сбрасывалось?

- Как правильно организовать приостановку скрипта.
На текущий момент организовываю
  repeat
    case FPauseEvent.WaitFor(100) of
      wrSignaled,
      wrAbandoned,
      wrError:
        break;
    end;
  until false;
в RunLine, но что-то мне подсказывает что это не самое элегантное решение проблемы.
Есть что-то более достойное?

- Как правильно организовать дебаг, StepIn, StepOver?

- Есть ли возможность рекомпиляции скрипта, без сброса добавленных функций? Clear чистит всё и после него нужно снова добавлять переменные, константы и функции. Не очень удобно. Может я что-то пропустил? Что посоветуете?

- Есть ли какой-то профайлер скрипта?

К сожалению в XE3 демки не хотят компилироваться, поэтому делаю все на коленке.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.