![]() |
DirectoryExists Laufwerk vorhanden aber kein Datenträger
In meinem Programm wird mit "DirectoryExists()" geprüft ob ein Verzeichnis vorhanden ist,
jedoch trat ein Fehler auf mit einer Meldung das kein Datenträger im Laufwerk vorhanden sei. Es standen 3 optionen zur Auswahl "Abbrechen", "Wiederholen" und "Weiter" danach lief das Programm auch normal weiter. Wie bekomme ich das hin das keine Meldung auftaucht, bei dem Laufwek handelt es sich um einen Kartenleser wo keine Speicherkarte eingelegt war.
Delphi-Quellcode:
if DirectoryExists('K:\test') then
ShowMessage('Verz. vorhanden!') else ShowMessage('Verz. nicht vorhanden!'); |
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
Moin, Moin.
Ich glaub' mit
Delphi-Quellcode:
kann man die Systemfehlermeldungen ausschalten.
SetErrorMode(SEM_FAILCRITICALERRORS)
|
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
Genau, und anschließend wiederherstellen. Das sähe dann so aus:
Delphi-Quellcode:
var ErrMode: Cardinal;
begin ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS); if DirectoryExists('K:\test') then ShowMessage('Verz. vorhanden!') else ShowMessage('Verz. nicht vorhanden!'); SetErrorMode(ErrMode); end; |
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
Vielen dank, das ging mal flott ;-)
|
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
Tja, so ist das eben bei der DP
:wink: |
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
Moin Zusammen,
ich würde dem Ganzen aber noch einen try/finally-Block spendieren, denn der ErrorMode gilt für die gesamte Prozesslaufzeit, und alle Child-Prozesse. Da könnte es ungünstig sein, wenn durch einen Fehler bestimmte Meldungen dauerhauft unterdrückt werden würden. ;-)
Delphi-Quellcode:
var ErrMode: Cardinal;
begin ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS); try if DirectoryExists('K:\test') then ShowMessage('Verz. vorhanden!') else ShowMessage('Verz. nicht vorhanden!'); finally SetErrorMode(ErrMode); end; end; |
Re: DirectoryExists Laufwerk vorhanden aber kein Datenträger
...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 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