Как в OnScriptRunLine отловить вход в процедуру или функцию, чтобы при написании IDE для FastScript можно было реализовать отличия например (F7- входить в процедуру, F8 - до следующей строки без вождения)
Хорошой ответ , но откуда мне знать . что в строке i (по вашему) и есть точка входа в процедуру ?????
Вопрос то и состоит в том , как определить , что это вход в процедуру
Ничего знать про вход не надо, если сработает OnRunLine, то вызовется ниже приведённая процедура где SourcePos и есть место в коде, и OnRunLine работает как F7, коментарии он опускает...
procedure RunLine(Sender: TfsScript; const UnitName, SourcePos: String);
begin
p := fsPosToPoint(SourcePos);
frmCodeEditor.SyntaxMemo.SetPos(p.x, p.y);
frmCodeEditor.SyntaxMemo.SetActiveLine(p.y-1);
FStopped := True;
while FStopped then Application.ProcessMessages;
end;
Комментарии
следователььно необходимо пропускать все OnRunLine пока строка не станет i+1...
а при F7 естесвенно ничего пропускать не надо...
Вопрос то и состоит в том , как определить , что это вход в процедуру
procedure RunLine(Sender: TfsScript; const UnitName, SourcePos: String);
begin
p := fsPosToPoint(SourcePos);
frmCodeEditor.SyntaxMemo.SetPos(p.x, p.y);
frmCodeEditor.SyntaxMemo.SetActiveLine(p.y-1);
FStopped := True;
while FStopped then Application.ProcessMessages;
end;