Главная страница
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.008 c
4-11743
anpv
2003-10-07 11:25
2003.12.04
MainMenu


8-11627
NetKnight
2003-07-31 02:56
2003.12.04
Время воспроизведения мп3 ?


8-11629
Misha
2003-08-03 17:50
2003.12.04
форматы


6-11685
Volcano
2003-10-04 17:12
2003.12.04
checksum


6-11639
pavia
2003-10-09 22:01
2003.12.04
пОЧЕМУ ОШИБКИ