Entwickler-Ecke
Sonstiges (Delphi) - try ... except, funktioniert nicht
O'rallY - Mo 26.08.02 12:15
Titel: try ... except, funktioniert nicht
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| ... try ClientSocket1.Address := ip; ClientSocket1.Active := true; except ShowMessage('Fehler!'); end; ... |
Trotz dieser Fehlerbehandlung erscheint immer noch die eine Standardfehlermeldung und nicht die von mir definierte. Kann mir einer helfen?
Ex0rzist - Mo 26.08.02 12:28
Hallo O'Rally,
kann es sein, dass du das ganz nur in der IDE getestet hast?
Die ist nämlich nicht besonders großzügig mit Exceptions. :wink:
Ansonsten verusche doch einfach die Standardfehlerereignisse zu verwenden (z.B.: OnClientError o.Ä.).
______________
Ex0rzist
O'rallY - Mo 26.08.02 12:59
Zitat: |
Ansonsten verusche doch einfach die Standardfehlerereignisse zu verwenden (z.B.: OnClientError o.Ä.).
|
Hab ich auch schon versucht (v)
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin ShowMessage(IntToStr(ErrorCode)); end; |
Es wird zwar immer die Messagbox angezeigt, aber danach kommt wieder die Standardbox:
Asynchronous socket error "ErrorCode"
lemming - Mo 26.08.02 13:06
Hallo O'rallY, dieses Problem lässt sich nicht mit try..except lösen. Ich habe das meinen Socket-Anwendungen immer so gelöst:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure OnError(Sender: TObject; E: Exception); begin Main.MemoDebug.Lines.Add(E.Message); end;
procedure TMain.FormCreate(Sender: TObject); begin Application.OnException := OnError; end; |
toms - Mo 26.08.02 13:06
Das Ereignis OnError tritt ein, wenn der Socket eine Verbindung nicht herstellen, benutzen oder schließen kann.
property OnError: TSocketErrorEvent;
Beschreibung
In einer Behandlungsroutine für OnError können Sie auf Fehler reagieren, die in Zusammenhang mit einer Socket-Verbindung auftreten. Wenn die Ereignisbehandlungsroutine für OnError die Fehlerbedingung erfolgreich behandeln konnte, setzen Sie den Parameter ErrorCode auf 0, damit keine ESocketError-Exception ausgelöst wird.
O'rallY - Mo 26.08.02 13:08
Danke. Ich liebe dieses Forum :wink: :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!