Почему нет возврата значений через Var параметр ?

отредактировано 01:52 Раздел: FastScript
Вопрос по поводу возврата значений из процедуры через через var параметр
есть процедура T1 из которой через параметр s возвращается некая информация, но отладка показывает что возврата нет.
Что не так ?
Причем видно что при вызове T1 из T параметр возвращается.
procedure T1(const str: String; var s: String);
var
  a: String;
begin
  if Length(str) < 10 then
  begin
    s:=str+IntToStr(Length(str));
    WriteLog(s);
    T1(s, a);
    WriteLog('T1 a='+a);
  end
  else
    s:='1111111111111111111111';  
end;

procedure T();
var
  a: String;
begin
  T1('1', a);
  WriteLog('T a='+a);
end;

Результат вызова процедуры T
2013.01.23 15:14:58.639	11
2013.01.23 15:14:58.639	112
2013.01.23 15:14:58.639	1123
2013.01.23 15:14:58.640	11234
2013.01.23 15:14:58.640	112345
2013.01.23 15:14:58.640	1123456
2013.01.23 15:14:58.641	11234567
2013.01.23 15:14:58.641	112345678
2013.01.23 15:14:58.641	1123456789
2013.01.23 15:14:58.641	T1 a=
2013.01.23 15:14:58.642	T1 a=
2013.01.23 15:14:58.642	T1 a=
2013.01.23 15:14:58.642	T1 a=
2013.01.23 15:14:58.642	T1 a=
2013.01.23 15:14:58.643	T1 a=
2013.01.23 15:14:58.643	T1 a=
2013.01.23 15:14:58.643	T1 a=
2013.01.23 15:14:58.643	T1 a=
2013.01.23 15:14:58.644	T a=11

Комментарии

  • отредактировано 01:52
    возможно вы пытаетесь вызвать процедуру с помощью fsScript1.CallFunction

    необходимо fsScript1.CallFunction1

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

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