Stackflow
Тема должна была называться "Stack overflow", просьба к модераторам переименовать.
Доброго времени суток.
Эта тема - баг-репорт, не нашел куда скидывать их, так что оставлю здесь.
Обратил внимание на странное поведение TfsScript, если в тексте скрипте присутствует упоминание необъявленных полей/методов класса, пример:
После долгих тестов выяснил, что если в uses добавить frxRes, то все начинает работать нормально и выдается ошибка "Undeclared identifier".
ИМХО либо нужно это передать в отдела разработки или включить в документацию данную особенность, либо если я что-то делал изначально не так, то просьба показать в чем моя ошибка
Доброго времени суток.
Эта тема - баг-репорт, не нашел куда скидывать их, так что оставлю здесь.
Обратил внимание на странное поведение TfsScript, если в тексте скрипте присутствует упоминание необъявленных полей/методов класса, пример:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, fs_iinterpreter, fs_ipascal;
var
fsScript1: TfsScript;
procedure Compile();
var
errorText: string;
begin
fsScript1.Clear();
fsScript1.AddClass(TObject, 'TObject');
fsScript1.Lines.Text := 'var obj: TObject; begin obj.Test(); end.';
try
if (not fsScript1.Compile()) then
errorText := fsScript1.ErrorMsg + ' in ' + fsScript1.ErrorPos
else
errorText := 'OK'
except on ex: Exception do
errorText := ex.Message;
end;
WriteLn('Result: ' + errorText);
ReadLn;
end;
begin
fsScript1 := TfsScript.Create(nil);
fsScript1.Parent := fsGlobalUnit;
fsScript1.SyntaxType := 'PascalScript';
Compile();
Compile();
end.
то при первой компиляции выдается ошибка "Stack overflow", а при повторной компиляции программа падает на "fsScript1.Compile", причем try/except не спасает.После долгих тестов выяснил, что если в uses добавить frxRes, то все начинает работать нормально и выдается ошибка "Undeclared identifier".
ИМХО либо нужно это передать в отдела разработки или включить в документацию данную особенность, либо если я что-то делал изначально не так, то просьба показать в чем моя ошибка