Thema: Delphi Noch 2 Indy Fragen ^^

Einzelnen Beitrag anzeigen

Benutzerbild von thetrue
thetrue

Registriert seit: 27. Mai 2006
65 Beiträge
 
#1

Noch 2 Indy Fragen ^^

  Alt 29. Mai 2006, 20:45
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?
  Mit Zitat antworten Zitat