![]() |
idTCPServer in Konsole: Konsole soll nicht schließen
Hallo,
ich versuche gerade einen simplen Chat-Server in einer Konsolen-Anwendung aufzubauen. Wie ich alle Komponenten erstelle und auch mit Ereignissen verbinden, weiß ich. Allerdings beendet sich das Programm sofort, nachdem es alle Befehle ausgeführt hat. Was muss ich tun, damit das Konsolenfenster geöffnet bleibt, der idTCPServer weiter läuft und ich zwischen durch noch mit writln Texte ausgeben kann (z.B. im Onconnect-Ereignis)? Danke für eure Hilfe MfG Christian |
Re: idTCPServer in Konsole: Konsole soll nicht schließen
Zitat:
Delphi-Quellcode:
Wenn du Strg-C drückst oder die Variable ShutDownServer auf True setzt,
var
ShutDownServer : boolean; // Globale Variable begin ShutDownServer := False; // ... while not (ShutDownServer or Eof(Input)) do Sleep(50); // ... end; end. endet die Konsolenanwendung. |
Re: idTCPServer in Konsole: Konsole soll nicht schließen
ahh, danke
|
Re: idTCPServer in Konsole: Konsole soll nicht schließen
Noch ne Frage:
bei
Delphi-Quellcode:
schließt sich die Konsole nicht. Wenn ich
writeln('Hallo DP . . .')
Delphi-Quellcode:
aufrufe, wird die Konsole sofort geschlossen. Woran liegt das?
Console.TCPServer.active := true
EDIT: Der Quelltext:
Delphi-Quellcode:
Danke für eure Hilfe
type
TConsole = class(TObject) TCPServer: TIdTCPServer; constructor create; private procedure ServerConnect(AThread: TidPeerThread); public end; constructor TConsole.Create; begin inherited Create; TCPserver := TIdTCPServer.Create(TCPServer); with TCPServer do begin OnConnect := ServerConnect; end; end; var Console: TConsole; ShutDownServer: boolean; //Server Events----------------------------------------------------------------- procedure TConsole.ServerConnect(AThread: TidPeerThread); begin with AThread as TIdPeerThread do begin // hier kannst du z.B. den Namen und checked abfragen... writeln(AThread.Connection.LocalName); end; end; //Ende: Server Events----------------------------------------------------------- begin writeln('Herzlich Willkommen.'); Console.TCPServer.DefaultPort := 300; Console.TCPServer.active := true;// <= Konsolenfenster schließt sich im Anschluss while not (ShutDownServer{ or Eof(Input)}) do Sleep(50); end. Gruß Christian |
Re: idTCPServer in Konsole: Konsole soll nicht schließen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 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