Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Würde ein Fehler eintreten? (https://www.delphipraxis.net/30550-wuerde-ein-fehler-eintreten.html)

Pseudemys Nelsoni 26. Sep 2004 14:09


Würde ein Fehler eintreten?
 
moin,

wenn folgendes passiert:

ich öffne mein serverprog -> client connectet -> client schreibt -> mein server prog zeigt eine messagebox onRead -> client disconnectet (messagebox ist noch offen) -> ich schliesse die messagebox -> fehler tritt auf weil socket nichtmehr existiert...



so, was ist nun wenn ich hier keine messagebox sondern halt eine lange prozedur hätte die einige zeit braucht bis sie fertig ist? muss ich in jeder zeile prüfen ob der socket noch existiert oder wie? wobei ich glaub nichmal das das noch gehen würde denn das OnRead dürfte den fehler so oder so ausgeben....

also wie ist das genau?

supermuckl 26. Sep 2004 14:13

Re: Würde ein Fehler eintreten?
 
naja du hast in den indy tcpserver kompos ja ne OnException.. damit kannste unbehandelte exceptions noch abfangen
wenn du sie nich vorher bei ReadLn oderso mit try except abgefangen hast und dort auf nen disconnect reagiert hast

ich würde sowieso so wenig wie möglich ReadLn an unterschiedlichen stellen im code verwenden.. wenn nicht sogar dieses in eine extra funktion schreiben die mit disconnects umgehen kann. das wäre am geschicktesten glaub ich

Pseudemys Nelsoni 26. Sep 2004 14:15

Re: Würde ein Fehler eintreten?
 
ich benutze keine indys (TServerSocket)

hmmm ich hab grad keine idee was ich tun könnte wenn der disconnect während des lesens passiert

supermuckl 26. Sep 2004 14:20

Re: Würde ein Fehler eintreten?
 
naja dann kommt ne exception beim ReadLn bzw die read prozedure deiner wahl

die must du halt behandeln mit try except

Pseudemys Nelsoni 26. Sep 2004 14:24

Re: Würde ein Fehler eintreten?
 
meinst du beim ReceiveText? ich weiss grad nicht wo ich das ReadLn aufrufe *g*

mit der exception muss ich mal versuchen, danke 8)

supermuckl 26. Sep 2004 14:41

Re: Würde ein Fehler eintreten?
 
ja das

hab halt mit sockets noch nix gemacht..

wenn da keine exception kommt funktionierts warscheinlich auch anderst als bei den indys


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