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

Вниз

Потоки   Найти похожие ветки 

 
Manulo ©   (2004-02-09 15:20) [0]

Доброго времени суток!
Есть idTCPClient, который пытается подключится к определённому порту удалённой машины. Если порт открыт, то всё проходит нормально, если закрыт, но удалённый компьютер включён, тоже терпимо. Но если удалённый компьютер отключён, программа просто виснет.
В общем вопрос в чём... Как можно ту часть кода, которая отвечает за подключение к порту "запихнуть" в отдельный поток, что бы "подвисание" при подключении не мешало работе остальной программе?


 
Digitman ©   (2004-02-09 15:38) [1]


> Как можно ту часть кода, которая отвечает за подключение
> к порту "запихнуть" в отдельный поток


а почему бы не только эту часть, а весь транспорт не разместить в доп.потоке ?

или ты в принципе не понимаешь как организовать вычисления в доп.потоках ? это ж разные вещи


 
Manulo ©   (2004-02-09 15:44) [2]

можно сказать, что непонимаю. Я никогда не работал с дополнительными потоками. Если не трудно, расскажи как сделать


 
Digitman ©   (2004-02-09 16:03) [3]

TTransportThread = TThread
private
FRemoteHost: String;
FRemotePort: Integer;
FClient: TTCPClient;
...
protected
procedure Execute; override;
public
constructor Create(Host: String; Port: Integer; CreateSuspended: Boolean = false);

end;

constructor TTransportThread.Create(Host: String; Port: Integer; CreateSuspended: Boolean);
begin
FRemoteHost:= Host;
FRemotePort:= Port;
inherited Create(CreateSuspended);
end;

procedure TTransportThread.Execute;
begin
try
FClient := TTCPClient.Create(nil);
try
FClient.Host := FRemoteHost;
FClient.Port := FRemotePort;
FClient.Active := True;
// ... здесь принимаем-передаем все что нужно
finally
FClient.Free;
end;
except
//..лог исключений
end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
4-53807
Thick
2003-12-12 13:38
2004.02.17
Не могу выключить прогу


6-53678
Werewolfru
2003-12-13 18:43
2004.02.17
Как программно получить статус пользователя по его UIN`у


1-53469
Silver_
2004-02-07 11:38
2004.02.17
Хочу бродить по RichEdit также как и в редакторе Delphi


14-53768
Andryk
2004-01-27 18:46
2004.02.17
HELP! Мож кто знает или умеет сам?


7-53782
mrAld
2003-11-30 21:29
2004.02.17
Delphi и MMX