![]() |
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Ganz allgemein gesagt handelt es sich bei dem erscheinenden Dialog nicht um eine Fehlermeldung, sondern eine Aufforderung an den Benutzer, hier tätig zu werden und seine Entscheidung zu verkünden.
Erst wenn der Benutzer sich dagegen entscheidet, dann wird es ein Fehler. Und
Delphi-Quellcode:
wirft eben keine Exception, sondern liefert den Erfolg über einen
ForceDirectories
Delphi-Quellcode:
Wert zurück.
Boolean
Das sollte dann auch erklären, warum hier ein
Delphi-Quellcode:
ins Leere läuft.
try except
Ein Blick in die MSDN-Doku hilft auch ![]() |
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Wenn ein Volume nicht raed only ist, heißt das noch lange nicht, dass man schreiben kann. Die Systemplatte ist z.B. nicht schreibgeschützt und man kann trotzdem ( als Nicht Admin) nicht in die Root schreiben.
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Ok... aber wie prüfe ich, ob der Wechseldatenträger beschreibbar ist, so dass kein Meldungsfenster erscheinen?
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Zitat:
Hilfe lesen! |
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Das wäre dann wie folgt, so wie ich das verstehen:
Delphi-Quellcode:
Aber
Result := GetVolumeInformation(PChar(Root), nil, 0, nil, Dw1, FILE_READ_ONLY_VOLUME, nil, 0);
Zitat:
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Eher so
Delphi-Quellcode:
var
MaximumComponentLength, FileSystemFlags: Cardinal; begin if not GetVolumeInformation( PChar( 'C:\'), nil, 0, nil, MaximumComponentLength, FileSystemFlags, nil, 0 ) then RaiseLastOSError( ); Result := ( ( FileSystemFlags and FILE_READ_ONLY_VOLUME ) = FILE_READ_ONLY_VOLUME ); end; Zitat:
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Zitat:
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Zitat:
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Zitat:
|
AW: Wie Fehler bzw. Rückgabewert False abfangen?
Und wenn der Anwender unabhängig von Deiner Anwendung eine Karte mit Schreibschutz einschiebt, unterbleibt dann der Hinweis?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 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