![]() |
[Indy10] ReadLn bei Client im Thread
Hi,
Ich habe vor eine Art Chat zu schreiben. Dazu ist es natürlich von Nöten dass der Server auch mal was an den Client schickt. Aber wie? Ich habe mich jetzt ein halbes wochenende durch jegliches Beispiel gelesen, welches Ich zu Indy10 gefunden hab und dazu NICHTS gefunden. Die einzige Lösung, die Indy10 bereit hält ist offensichtlich folgende:
Delphi-Quellcode:
Das ist natürlich extrem praktikabel und total sinnvoll *Ironie bis Galgenhumor*
Client.IOHandler.WrtieLn('Hallo');
Res:=Client.IOHandler.ReadLn; Was ich brauche ist im Prinzip ein Event welches ausgelöst wird sobald der Client eine Nachricht empfangen hat. Ich habe mal in einer Randbemerkung etwas von einem Thread gehört mit welchem das gehen soll... Das habe ich so versucht: (Ich muss direkt dazu sagen dass ich mit Threads noch nicht die große Ahnung hab....)
Delphi-Quellcode:
procedure TClientThread.Execute;
var L: String; begin Self.Priority:=tpLower; while not Terminated do begin Sleep(100); if not Assigned(FIO) then Continue; L:=FIO.ReadLn; ShowMessage(L); if Assigned(FOnInput) then FOnInput(L); end; end;
Delphi-Quellcode:
Nun ist es nur leider so dass offensichtlich im Thread nichts passiert...
//OnCreate der MainForm
CT:=TClientThread.Create(True); CT.Suspend; CT.OnInput:=OnClientInput; CT.IOHandler:=Client.IOHandler; CT.Resume; Auch wenn ich nach dem Sleep eine hübsche ShowMessage einbaue: nix Wenn ich dann versuche das ganze wieder zu beenden mit
Delphi-Quellcode:
Hängt das Programm....
CT.Suspend;
CT.Terminate; CT.Free; Woran liegt das? Geht das mit den Indys vielleicht nicht doch einfacher? |
Re: [Indy10] ReadLn bei Client im Thread
versuch doch mal Application.ProcessMessages vor dem sleep() Command
|
Re: [Indy10] ReadLn bei Client im Thread
Zum einen ändert es nichts
Zum anderen wäre es ziemlich unsinnig einen Thread zu nehmen wenn ich dann noch Application.Processmessages mache (oder sehe ich das falsch :?: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz