AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy Exception nicht auffangbar

Indy Exception nicht auffangbar

Offene Frage von "Stevie"
Ein Thema von Halux · begonnen am 14. Okt 2011 · letzter Beitrag vom 16. Okt 2011
Antwort Antwort
Halux

Registriert seit: 12. Okt 2011
6 Beiträge
 
#1

AW: Indy Exception nicht auffangbar

  Alt 15. Okt 2011, 15:33
Danke für die Hinweise.

Ich hab mal das ganze Projekt hochgeladen, falls Zeit und Lust hat vorhanden sind, kann es sich ja mal jemand ansehen.

http://www.mediafire.com/?1r5g7v3vht19bw6
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Indy Exception nicht auffangbar

  Alt 15. Okt 2011, 17:47
Schreib ins OnDisconnect vom Server noch ein if TCPServer.Active then .

Eine andere (und wie ich finde bessere) Möglichkeit wäre, vom Server vor dem Beenden alle Verbindungen kappen zu lassen:

Delphi-Quellcode:
var
  list: TList;
  i: Integer;
begin
  list:= TCPServer.Contexts.LockList;
  try
    for i := 0 to list.Count - 1 do
      TIdContext(list[i]).Connection.Disconnect;
  finally
    TCPServer.Contexts.UnlockList;
  end;
end;
Genereller Hinweis: Versuche lieber die Ursache einer Exception zu beseitigen (natürlich nur sofern möglich) anstatt sie irgendwo abzufangen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (15. Okt 2011 um 17:51 Uhr)
  Mit Zitat antworten Zitat
Halux

Registriert seit: 12. Okt 2011
6 Beiträge
 
#3

AW: Indy Exception nicht auffangbar

  Alt 15. Okt 2011, 23:27
Vielen Dank für die Hilfe.
Natürlich war es mein Ziel die Ursache zu beseitigen. Ich wusste allerdings nicht, welcher Teil des Code die Exception ausslöst und somit verändert werden muss.

Warum wird das OnDisconnected Event des Clients nicht ausgelöst, wenn ich den Server schließe und mit deinem Code die Verbindungen kappe?
Übrigens wird die Exception weiterhin ausgelöst, nur das Programm stürtz nicht mehr ab.

Was bedeutet eigentlich der Befehl?
TCPServer.Contexts.UnlockList

Und noch eine andere Frage, gibts es vielleicht eine Zusammenfassung der wichtigsten Befehle für Indy? Ich finde mit Google nur Tutorials, in denen mir ein paar Zeilen Code ohne Umfassende Erklärung vorgesetzt werden.
Oder wie kommt ihr zum Beispiel darauf, das es "TCPServer.Contexts.UnlockList" gibt und was es bewirkt?

Geändert von Halux (16. Okt 2011 um 12:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Indy Exception nicht auffangbar

  Alt 16. Okt 2011, 02:58
Wenn man etwas nicht weiß, kann man auch mal in die Hilfe schauen.
Delphi-Referenz durchsuchenUnlockList

Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Halux

Registriert seit: 12. Okt 2011
6 Beiträge
 
#5

AW: Indy Exception nicht auffangbar

  Alt 16. Okt 2011, 12:11
Ich wusste gar nicht, dass es hier sowas gibt sonst hätte ich den Befehl natürlich dort gesucht.

Allerdings würde ich mich trotzdem freuen, wenn mir jemand sagen könnte, woher ihr die Befehle und ihre Bedeutung kennt. Ich gehe mal nicht davon aus, dass ihr euch plausible Befehlsnamen überlegt und dann schaut ob es diese wirklich gibt.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Indy Exception nicht auffangbar

  Alt 16. Okt 2011, 14:58
Bei Google suchenindy disconnect bindings erster Treffer
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48 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