Несколько вопросов
- Есть простейший код:
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 демки не хотят компилироваться, поэтому делаю все на коленке.