Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.04;
Скачать: CL | DM;

Вниз

Глюк Sleep в TThread   Найти похожие ветки 

 
Witaliy   (2003-10-05 13:24) [0]

Есть процедура :

procedure TMyThread.SndMsg;
var
i: Integer;
Begin
For i:=0 To Main.MainForm.ServerSocket.Socket.ActiveConnections-1 Do
Begin
If Main.MainForm.ServerSocket.Socket.Connections[i].RemoteAddress=IP Then
Begin
Main.MainForm.ServerSocket.Socket.Connections[i].SendText(CommandsString);
End;
End;

End;

procedure TMyThread.Execute;
Begin
While Terminated=False Do
Begin
Synchronize(SendMessage);
Sleep(5000);
^^^^^^^^^^^
End;
End;

Так вот, трабл заключается в том, что если в программе происходит какой-либо Exception( не в этом потоке, а в пртоке основной программы), то функция Sleep засыпает и не просыпается, т.е. например Появляется в приложении окно с ошибкой, я нажимаю скажем OK и поток дальше не выполняется. Подскажите если кто знает в чем дело. Программа написана в Delphi 7 и работает под OS Win XP и 2000


 
Digitman ©   (2003-10-05 13:51) [1]

procedure TMyThread.Execute;
Begin
try
...
except
.. здесь при необходимости ведем лог исключений
end
End;


 
Witaliy   (2003-10-05 14:10) [2]

procedure TMyThread.Execute;
Begin
try
...
ShowMessage(0,"Before","",0);
Sleep(50000);
ShowMessage(0,"After","",0);
except
ShowMessage(0,"Except","",0);
end
End;

Сделал так. Судя по тому что сообщения нет, Except тоже не происходит у потока.


 
DiamondShark ©   (2003-10-05 22:31) [3]

Вообще-то, поток в таком случае прибивается...
Отладчик-то на что даден? Кто мешает окошко Threads посмотреть.


 
DiamondShark ©   (2003-10-05 22:33) [4]

{$flood+}
Пошто тему в "Сети" перенесли?
{$flood-}


 
Digitman ©   (2003-10-06 08:00) [5]


> Судя по тому что сообщения нет, Except тоже не происходит
> у потока.


обращение из доп.код.потока к объектам VCL, работающим с канвой, недопустимо без синхронизации с осн.код.потоком

см. Synchronize()



Страницы: 1 вся ветка

Текущий архив: 2003.12.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.005 c
8-11634
miwa
2003-07-30 01:02
2003.12.04
Как получить дедтальную информацию о видеофайле?


4-11727
PSA
2003-10-08 15:14
2003.12.04
Интересно а HOOKs and ActiveX работать будут?


1-11611
Walrus
2003-11-25 20:33
2003.12.04
Изменение объектов одного модуля из другого модуля


1-11610
Peter
2003-11-25 22:13
2003.12.04
открытие txt-файла


6-11675
mRodion
2003-10-06 18:47
2003.12.04
Еще раз про Indy idTCPClient