S
Shouldercannon
Задача:
Подключиться к серверу и слушать, что он пришлёт до завершения работы приложения. Прослушка должна быть обязательно в отдельном потоке, иначе форма повиснет.
При закрытии формы появляется ошибка на строке
Подключиться к серверу и слушать, что он пришлёт до завершения работы приложения. Прослушка должна быть обязательно в отдельном потоке, иначе форма повиснет.
Код:
procedure TFormMain.BConnectClick(Sender: TObject);
var
My_Thread: TMy_Thread;
begin
IdTCPClient1.Host := '77.108.194.247';
IdTCPClient1.Port := 80;
IdTCPClient1.Connect(1000);
My_Thread := TMy_Thread.Create(True);
My_Thread.FreeOnTerminate := False;
My_Thread.GoMemo := Memo1;
My_Thread.Resume;
end;
procedure TMy_Thread.Execute;
begin
while not Terminated do
begin
if FormMain.IdTCPClient1.Connected then
begin
s := FormMain.IdTCPClient1.ReadLn(); // Показывает сюда
Synchronize(SyncProc);
end;
end;
end;
procedure TMy_Thread.SyncProc;
begin
GoMemo.Lines.Add('[' + TimeToStr(Now) + '] - IdTCPClient1: ' + s);
end;
Код:
s := FormMain.IdTCPClient1.ReadLn();