![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите разобраться с алгоритмом!!!
dimonf © (2002-12-12 21:56:00)Объясните дурню, сам не могу понять :(
Как мне организовать цикл из которого я могу обрабатывать события других компанентов.
Грубо говоря у меня есть база данных по которой я "пробегабсь":
repeat
...
until
В данном цикле я хочу обрабатывать событие другого компанента,
в данном случае определяю DNS SMTP сервера OnRequestDone.
Как мне приостановить цикл до тех пор пока у меня не сработает OnRequestDone. А потом продолжить цикл дальше?
У меня есть мысль по созданию потока:
...
CreateThread(nil, 0, @aaa, nil, 0, id);
...
function aaa(p: integer): integer;
begin
...
Result := 0;
end;
...
но я не уверен, что мысль правильная. Как быть, посоветуйте Гурру!!!
False_Delirium (2002-12-13 03:56:00) [1]repeat
while (not RequestIsDone) do Application.ProcessMessages ;
until (...) ;
Моджахед (2002-12-12 22:18:00) [2]Вероятно, плохо продумана структура, коли понадобилось такое...
Но если надо, то надо. Внешний флаг ставь в обработчике события и в цикле своем
Repeat
Until Flag<>True;
dimonf (2002-12-12 22:18:00) [3]Application.ProcessMessages пробовал не помогает :(
Song (2002-12-12 22:16:00) [4]Application.ProcessMessages