also ich habe das ganze mal so probiert:
Delphi-Quellcode:
procedure TConnectThread.Execute;
begin
FConnected:=False;
FTCP.Connect(FHost,FPort);
FConnected:=True;
end;
und dann
Delphi-Quellcode:
var CT: TConnectThread;
T: Cardinal;
begin
try
CT:=TConnectThread.Create(True);
CT.FreeOnTerminate:=True;
CT.TCP:=Fidtcp;
CT.Host:=Host;
CT.Port:=Port;
T:=GetTickCount+5000; //5s-Timeout
CT.Execute;
while (T-GetTickCount>0) and (not Fidtcp.Connected) do
FOnSleep; //Application.Processmessages
if not Fidtcp.Connected then raise EConnectException.Create(''); //Hats nicht geschafft
CT.Terminate;
FListeningThread.Resume;
except
raise EConnectException.Create('');
end;
end;
Aber irgendwie ändert das nichts