Добрый день. Есть код:
Код:
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;
Вопрос: есть ли возможность(как?) управлять работой цикла, или надо как то по другому?