Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Exception nach timout (https://www.delphipraxis.net/107450-exception-nach-timout.html)

WIng2005 28. Jan 2008 06:09


Exception nach timout
 
Hallo,

seht ihr eine Möglichkeit in einem Try-Except-Block eine Exception nach einer definierten Zeit zu werfen?

Möchte die Verbindung zu einer Datenbank nicht endlos dauern lassen....

Delphi-Quellcode:

Try

//Verbindung aufbauen

except

//Zeitüberschreitung anzeigen

end;
Danke...

MFG
Steffen

peschai 28. Jan 2008 06:21

Re: Exception nach timout
 
Hallo

Wenn du auf die verbindung zur Datenbnak warten musst, so wird hier auch mit hoher Wahrscheinlichkeit dein Programm warten bis der nächste Befehle ausgeführt werden kann .... ein RAISE EXCEPTION nach deinm verbindungsversuch bringt dir damit nichts....

deshalb versuche es mit Thread's.
Erzeuge eine Thread und versuche dich in diesem zusatz Thread mit deiner Datenbank zu verbinden.
Im Hauptprogramm (Thread) könntest du dann eine Timer absetzen, der nach Auszeit eine bestimmet Statusvariable abfragt, welche du in deinem VerbindungsThread nach erfolgreichem Verrbinden setzt ...

WIng2005 28. Jan 2008 06:28

Re: Exception nach timout
 
Hallo,

dann werde ich mich erstmal mit den Grundlagen von Threads befassen müssen
(habe ich so noch nie gemacht).... kann ja nicht schaden.

MFG
Steffen

Bernhard Geyer 28. Jan 2008 06:30

Re: Exception nach timout
 
Zitat:

Zitat von WIng2005
Möchte die Verbindung zu einer Datenbank nicht endlos dauern lassen....

Normalerweise bietet es fast jede DB-Zugriffskomponente an einen Verbindungstimeout anzugeben.
Bei Threads muss man kontrollieren ob die übergebenen Hande/Interfaces/... nur im thread gültig sind oder auch für den Hauptthread verwendet werden können.

WIng2005 28. Jan 2008 06:40

Re: Exception nach timout
 
Habe mal grob (äußerst grob) versucht zu verstehen, wie Threads arbeiten... kann also noch dauern...

@Bernhard Geyer: Arbeite mit den Zeos-Komponenten. Direkten Zugriff auf die DB-Einstellungen habe ich (noch) nicht.
Habe mal in den Eigenschaften der ZConnection gestöbert, jedoch nichts passendes gefunden.

MFG
Steffen

WIng2005 28. Jan 2008 06:52

Re: Exception nach timout
 
Habs gefunden.... genau, was ich gesucht habe:

ZConnection.Properties.Values['timeout']


MFG
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz