Здравствуйте, Daimond, Вы писали:
AVS>>Лучше так:
AVS>>
AVS>>1 пользователь нажал кнопку
AVS>>2 Action, связанный с кнопкой блокируем (Enabled:=false), запускаем поток
AVS>>3 Когда поток завершился, разблокируем (напр в OnTerminate)
AVS>>
AVS>>Вобщем, не надо давать пользователю возможности делать то, что не надо.
D>Идея ясная, но мне не подходит... Надо по указателю на поток определить его состояние (полностью завершился и умер или еще живет).
тогда что-то типа этого:
procedure TForm1.Action1Update(Sender: TObject);
begin
with Sender as TAction do
begin
Enabled:=WaitForSingleObject(Modem.Handle, 0) <> WAIT_OBJECT_0;
end
end;