nabend:
Delphi-Quellcode:
procedure Tmain.Timer1Timer(Sender: TObject);
var
i:integer;
frm:Tform;
begin
timer1.Enabled := false;
for i:=0 to 255 do
begin
if Tserv(main.MDIChildren[i]).getthread = rthread then
begin
frm := Tserv(main.MDIChildren[i]).getwid;
Tserv(frm).txt.Text :=Tserv(frm).txt.Text+rthread.Connection.ReadChar;
exit;
end;
end;
end;
procedure Tmain.serverExecute(AThread: TIdPeerThread);
begin
rthread := AThread;
timer1.Enabled := true;
end;
so versuche ich etwas zu lesen, was von dem Client gesendet wird
aber dann hängt die ganze Anwendung ... WIESO?
Delphi-Quellcode:
procedure Tmain.timerTimer(Sender: TObject);
var
frm: TForm;
begin
timer.Enabled := false;
frm := Tserv.Create(Application);
Tserv(frm).mkthread(tmpthread);
Tserv(frm).Caption := '
IP: '+tmpthread.Connection.Socket.Binding.PeerIP+'
|Channel: ';
tmpthread :=
nil;
{for i:=0 to 255 do
begin
if Tserv(main.MDIChildren[i]) = frm then
begin
Tserv(main.MDIChildren[i]).mkthread(tmpthread);
exit;
end;
end; }
end;
wenn ein zweiter Client connected, dann wird bei dem zweitem und dem ersten Child der Gleiche Thrad übenohmen ... WARUM?