Hi,
Ich bastel mal wieder mit Threads rum.
folgender Code:
Delphi-Quellcode:
TConnectThread =
class(TThread)
private
FTCP: TIdTCPClient;
FHost:
String;
FPort: Integer;
FConnected: Boolean;
public
procedure Execute;
override;
property TCP: TIdTCPClient
read FTCP
write FTCP;
property Host:
String read FHost
write FHost;
property Port: Integer
read FPort
write FPort;
property Connected: Boolean
read FConnected;
end;
procedure TConnectThread.Execute;
begin
Priority:=tpLower;
FConnected:=False;
FTCP.Connect(FHost,FPort);
FConnected:=True;
end;
Delphi-Quellcode:
try
CT:=TConnectThread.Create(True); <--
CT.FreeOnTerminate:=True;
CT.TCP:=Fidtcp;
CT.Host:=Host;
CT.Port:=Port;
T:=GetTickCount+5000;
CT.Resume;
Wenn ich das ganze so aufrufe wird bei TConnectThread.Create eine
Exception geworfen welche da lautet "Stack Overflow".
Das ganze kann man auch mit einem TThread machen, es passiert das selbe.
Das ganze wird in keiner Rekursion, ja noch nichtmal in einer Schleif aufgerufen, von daher verstehe ich absolut nicht was das soll
Hat da irgendwer eine idee?