Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Chat Nickliste fehlerhaft (https://www.delphipraxis.net/130727-chat-nickliste-fehlerhaft.html)

luckys41 12. Mär 2009 08:06


Chat Nickliste fehlerhaft
 
Guten Tag,

Beim Server im OnClientdisconnect steht :

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
listbox1.Items.Clear;
 disconnect.click;
   ServerSocket1.Active := false;

  ServerSocket1.Active := true;
  disconnect.click;
end;
Und im Client

Delphi-Quellcode:

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ClientSocket1.Active := false;

timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (ClientSocket1.Socket.Connected = false) then begin

ClientSocket1.Active := true;

end

else begin

timer1.Enabled := false;
end;
Wenn jetzt der Client das Programm über den Taskmanager schließt kommt der Fehler beim Server
---------------------------
Project1
---------------------------
Asynchronous socket error 10053.
---------------------------
OK
---------------------------

Und der User bleibt noch in der Liste obwohl das Programm geschlossen wurde.

Wie kann ich diese Fehler beheben? Hat evtl jemand einen Code Schnipsel?

Mit freundlichen Grüßen,
luckys41

ATSV 12. Mär 2009 08:36

Re: Chat Nickliste fehlerhaft
 
Der Fehler beim Server lässt sich ja abfangen.
Ich gucke wer Verbunden ist immer in einem Timer auf Server Seite nach. Läuft bisher einwandfrei, wäre vielleicht auch eine Lösung für dein Problem

Sherlock 12. Mär 2009 08:36

Re: Chat Nickliste fehlerhaft
 
Über den Taskmanger schließt man kein Programm, nur wenn es nicht mehr reagiert, und dann ist es sowieso klar, daß Fehler vorkommen. Andererseits: Beendest Du den Task oder den Prozess? Variante 1 sendet ja eine Message mit der freundlichen Aufforderung sich zu beenden, Nummer zwei killt den Prozess. Auf Nummer 1 kannst Du reagieren, die entsprechende WM ist...ähh...ich suchs raus und editiers hier rein.

Edith meint, daß es WM_CLOSE sein dürfte.

Sherlock

luckys41 12. Mär 2009 08:40

Re: Chat Nickliste fehlerhaft
 
Zitat:

Zitat von ATSV
Der Fehler beim Server lässt sich ja abfangen.
Ich gucke wer Verbunden ist immer in einem Timer auf Server Seite nach. Läuft bisher einwandfrei, wäre vielleicht auch eine Lösung für dein Problem

Das finde ich für keine gute Methode , da dann alle Nicks kurzfristig aus der Liste sind.

ATSV 12. Mär 2009 08:45

Re: Chat Nickliste fehlerhaft
 
Es gibt bestimmt elegantere Möglichkeiten aber es funktioniert :wink:

luckys41 12. Mär 2009 08:53

Re: Chat Nickliste fehlerhaft
 
Und wie kann ich da das WM_Close einsetzen ?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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