TIdTcpServer.OnExecute
Von: Heinz Zastrau (heinz.zastrau@gmx.de) [Profil]
Datum: 13.06.2008 10:38
Message-ID: <g2tblu$sqq$1@news2.open-news-network.org>
Newsgroup: de.comp.lang.delphi.misc
Datum: 13.06.2008 10:38
Message-ID: <g2tblu$sqq$1@news2.open-news-network.org>
Newsgroup: de.comp.lang.delphi.misc
Hallo, mir begegnen immer mal wieder OnExcute für einen TIdTcpServer die wie folgt implementiert sind: procedure TFormXY.TcpServerExecute(AContext: TIdContext); begin try ...tu etwas wichtiges... except on e: Exception do ProtokolliereAusnahme(e); end; end; nun ist mein Verständnis der TIdTcpServer-Komponente so, dass Ausnahmen der Klasse EIdException für das korrekte Verhalten des Servers (z.b. für das korrekte Aufrufen von OnDisconnect) wichtig sind und deshalb nicht gefangen werden dürfen. Somit solle ein OnExecute mit abfangen und protokollieren von Ausnahmen mindestens so aussehen: procedure TFormXY.TcpServerExecute(AContext: TIdContext); begin try ...tu etwas wichtiges... except on e: Exception do begin ProtokolliereAusnahme(e); if e is EIdException then raise; end; end; end; oder so procedure TFormXY.TcpServerExecute(AContext: TIdContext); begin try ...tu etwas wichtiges... except on e: EIdException do raise; on e: Exception do ProtokolliereAusnahme(e); end; end; Ich habe das Gefühl, das gerade im Bereich TCP und Threads mehr Legenden als Wissen unterwegs ist und möchte mich da nicht anschließen. Also, was sagen die Experten? :-) Und welche anderen Quellen sind hilfreich um ein tieferes Verständnis der Indy-Komponentn zu erlangen oder gibt es gar bessere Alternativen (Open Source, gegen Geld) als Indy? Ciao Heinz Z.[ Auf dieses Posting antworten ]
Antworten
- Arno Garrels (13.06.2008 20:28)
- Heinz Zastrau (17.06.2008 10:05)
- Arno Garrels (17.06.2008 10:59)
