Forum: Netzwerke
by Schwedenbitter,
17. Nov 2016
Entschuldige bitte. Ich weiß, dass ich langsam wohl nerve. Aber ich muss nochmal fragen.
OnExecute wird aufgerufen. Warum sehe ich dann wiederum keine Meldung; auch wenn ich die Ausgabe ganz an den Anfgang setze:Procedure TForm1.IdTCPServerExecute(AContext: TIdContext);
Var
Data:String;
Begin
ScrollLog('OnExecute();');
Application.ProcessMessages;
Data:=...
Forum: Netzwerke
by Schwedenbitter,
17. Nov 2016
Das ist richtig. Aber wenn ich z.B. einem String einen AnsiString zuweise oder umgekehrt, bekomme ich ja auch wenigstens eine Warnung - unabhängig davon, dass er das "durchcompiliert". Aber das führt auch zu weit.
Kannst Du mir bitte einen Gefallen tun:
Du schriebst weiter oben, dass bei Dir das Ereignis auch ohne #13#10 ausgelöst wird. Bei mir eben nicht. Am Quellcode kann es also...
Forum: Netzwerke
by Schwedenbitter,
17. Nov 2016
Nein, leider nicht. Ich habe es eben nochmals ausprobiert, indem ich #13#10 wieder auskommentiert habe. OnExecute wird nicht abgefeuert.
Wie geht denn das?
Innerhalb eines Threads ist mir das klar. Da Du das weißt, hast Du vermutlich meinen Quellcode angeschaut. Dort habe ich die das Polling des TIdTCPClient extra in einen Thread ausgelagert. Dann müsste ich ja eine eigene Klasse von...
Forum: Netzwerke
by Schwedenbitter,
17. Nov 2016
Volltreffer! Tausend Dank.
Warum das so ist, verstehe ich trotzdem nicht so ganz. TClientSocket sendet etwas ab, was z.B. TServerSocket auch ohne #13#10 empfangen würde. Dass ich mit ReadLn(); auslese, ist korrekt. Aber das Ereignis OnExecute wird nach meinem Verständnis ausgelöst, wenn Daten kommen. TIdTCPServer weiß doch zu diesem Zeitpunkt noch gar nicht, wie ich was auslesen werde. Warum...
Forum: Netzwerke
by Schwedenbitter,
16. Nov 2016
Dank des Quellcodes in C++ (?) von Bambini habe ich es geschafft:Procedure TForm1.BtnBrdcastClick(Sender: TObject);
Var
CList : TList;
I : Integer;
Begin
CList:= IdTCPServer.Contexts.LockList;
Try
For I:= 0 To Pred(CList.Count) Do
Try
TIdContext(CList.Items).Connection.IOHandler.WriteLn(EDBrdCast.Text);
Forum: Netzwerke
by Schwedenbitter,
15. Nov 2016
Danke für die Antwort.
Das ist immer das erste, was ich bei Tests mit dem Netzwerk deaktiviere, um "Irritationen" zu vermeiden :-D
Aber daran liegt es nicht, weil dasselbe Problem auch auftritt, wenn ich das auf demselben oder anderen Windows-Rechnern mache. Es liegt also gar nicht an Linux...
Siehe oben. Aber ich werde es mir merken, wenn es mal unter Windows läuft und es dann Probleme...