Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Exceptions gehen zwischen den Threads verloren? (https://www.delphipraxis.net/187675-exceptions-gehen-zwischen-den-threads-verloren.html)

p80286 22. Dez 2015 15:02

AW: Exceptions gehen zwischen den Threads verloren?
 
Danke, jetzt kann ich das wenigstens alles einschätzen.

schöne Feiertage
K-H

himitsu 22. Dez 2015 19:11

AW: Exceptions gehen zwischen den Threads verloren?
 
Egal was du machst, dieser Code sollte natürlich besser nur im Kontext des Hauptthreads (VCL) ausgeführt werden.


Für die Zukunft ist es so vorgesehen, daß Exceptions nicht auf der Klasse Exception bassieren müssen, sondern man da auch mal was Anderes einführen kann.

Zitat:

Delphi-Quellcode:
if GetCapture <> 0 then SendMessage(GetCapture, WM_CANCELMODE, 0, 0);

MSDN-Library durchsuchenReleaseCapture?

Uwe Raabe 22. Dez 2015 19:28

AW: Exceptions gehen zwischen den Threads verloren?
 
Zitat:

Zitat von himitsu (Beitrag 1325117)
Egal was du machst, dieser Code sollte natürlich besser nur im Kontext des Hauptthreads (VCL) ausgeführt werden.

Wird er ja. Die betreffende Methode wird über Synchronize aufgerufen.

BUG 22. Dez 2015 19:42

AW: Exceptions gehen zwischen den Threads verloren?
 
Zitat:

Zitat von p80286 (Beitrag 1325040)
ich meine mich zu erinnern, das eine Exception die Möglichkeit ist, ohne auf irgendetwas Rücksicht nehmen zu müssen, den Benutzer zu informieren. Gut ist etwas platt formuliert, aber von der Tendenz her richtig?

Nein, Exceptions sind ein Fehlerbehandlungsmechanismus (um zum Beispiel die leicht zu ignorierenden Rückgabewerte abzulösen).
Hier ist das etwas etwas genauer auseinander genommen: Exceptions sind für den Entwickler :wink:

Um auf das Ausgangsproblem einzugehen: Da Threads ein unabhängiger Kontrollfluss sind, wo würdest du die Exception denn auslösen? Im Hauptthread (wann)?
Für Sachen wie Fork-Join-Parallelismus gibt es sinnvolle Lösungen, aber für allgemein nutzbare Threads sieht es da düster aus.

himitsu 22. Dez 2015 19:43

AW: Exceptions gehen zwischen den Threads verloren?
 
Sicherheitshalber erwähnt, so einzeln dastehend ist das nicht erkennbar.

Per Synchronize kann man es nicht anzeigen, denn wenn es knallt, während der Hauptthread hängt, hängt auch die Ausgabe der Exception.
TThread.Queue und dann verzögert anzeigen, wäre da die einzige sichere Lösung, mit den Hausmitteln vom Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr.
Seite 2 von 2     12   

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