Показать сообщение отдельно
  #1  
Старый 26.04.2013, 22:15
Pcrepair
 
Сообщения: n/a
По умолчанию Управление циклом FOR

Добрый день. Есть код:
Код:
var
  Main: TMain;
  gFlag:Boolean;
implementation
..............
procedure TMain.Button1Click(Sender: TObject);
(* 25.04.13 Поцедура, время работы 20...30 сек*)
procedure TotalLoader(Str:string);
begin
  gFlag:=False; 
  (*много всякого*)
  gFlag:=True;  (*в конце работы устанвливает флаг*)
end;
(*-------------------------------------------*)

var I:integer;  StrRequest,FullListOfRequest:string;
begin
if (Memo1.Lines.Count > 0) then    
  begin
  for I := 0 to Memo1.Lines.Count-1 do
    begin
      StrRequest:=Memo1.Lines[i];  
      TotalLoader(StrRequest);     (*вызов асинхронной процедуры*)
      // нужно преостановить выполнение цикла пока не отработает TotalLoader
      // и не установит gFlag:=True;
    end;
  end
  else  ShowMessage('Enter Search Request!');
end;

Вопрос: есть ли возможность(как?) управлять работой цикла, или надо как то по другому?
Ответить с цитированием