AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Wie Fehler bzw. Rückgabewert False abfangen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Fehler bzw. Rückgabewert False abfangen?

Ein Thema von AlexII · begonnen am 26. Jun 2015 · letzter Beitrag vom 27. Jun 2015
Antwort Antwort
Seite 1 von 2  1 2      
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 13:47
Hallo,

ich möchte mit dieser Zeile prüfen, ob ein Wechseldatenträger beschreibbar ist:

ForceDirectoriesUTF8(RemovableDriveList.Strings[0] + 'test'); Nun stecke ich eine gelockte SD-Karte ein und bekomme den Fehler, dass die Karte schreibgeschützt ist (ist auch logisch), siehe Screenshot.
Aber wie fange ich diese Windowsmeldung ab? Diese zwei Möglichkeiten machen es nicht:

Delphi-Quellcode:
try
  ForceDirectoriesUTF8(RemovableDriveList.Strings[0] + 'test');
except
end;

// oder

if not ForceDirectoriesUTF8(RemovableDriveList.Strings[0] + 'test') then ;
Der Windowsfehler kommt trotzdem.

Danke!
Angehängte Grafiken
Dateityp: png Screenshot.PNG (12,2 KB, 28x aufgerufen)
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 13:51
Wie stellst du dir den vor, wie die zweite Möglichkeit was an der Meldung ändert

Abgesehen davon findet man mit Google super schnell diese Lösung.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 13:55
Wie stellst du dir den vor, wie die zweite Möglichkeit was an der Meldung ändert
Jah...
Zitat:
ForceDirectoriesUTF8
gibt False zurück und weiter passiert nichts.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:00
ForceDirectoriesUTF8 gibt False zurück und weiter passiert nichts.
Nun weiß ForceDirectoriesUTF8 aber gar nicht, ob du etwas mit dem Rückgabewert machst.

Im Ernst, guckt dir die verlinkten Antworten an, da sollte eine Lösung dabei sein, die dir passt.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:02
Ok....

Habe diese hier gefunden. Muss da Dw1 und Dw2 nicht mit Werter belegt werden?

Delphi-Quellcode:
function LaufwerkBereit(root: string): boolean;
var Oem: cardinal;
  Dw1, Dw2: DWORD;
begin
  Oem := SetErrorMode(SEM_FAILCRITICALERRORS);
  result := GetVolumeInformation(PCHAR(Root), nil, 0, nil, Dw1, Dw2, nil, 0);
  SetErrorMode(Oem) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Laufwerkbereit('A:\') then ShowMessage('Laufwerk bereit!')
  else ShowMessage('Laufwerk nicht bereit!');
end;
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:04
Muss da Dw1 und Dw2 nicht mit Werter belegt werden?
Nein, da das optionale Ausgabeparameter sind.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:40
Nun stecke ich eine gelockte SD-Karte ein und bekomme den Fehler, dass die Karte schreibgeschützt ist (ist auch logisch), siehe Screenshot. Aber wie fange ich diese Windowsmeldung ab?
Wieso möchtest du diese Meldung überhaupt abfangen? Ist denn nicht eine äußerst sinnvolle Meldung, die den Anwender darüber informiert, daß er den Schreibschutz entfernen muß, bevor er den Datenträger beschreiben kann?
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:45
Nun stecke ich eine gelockte SD-Karte ein und bekomme den Fehler, dass die Karte schreibgeschützt ist (ist auch logisch), siehe Screenshot. Aber wie fange ich diese Windowsmeldung ab?
Wieso möchtest du diese Meldung überhaupt abfangen? Ist denn nicht eine äußerst sinnvolle Meldung, die den Anwender darüber informiert, daß er den Schreibschutz entfernen muß, bevor er den Datenträger beschreiben kann?
Muss so sein, meine Anwendung sagt es dem Anwender. Der bekommt sie schon zu sehen )))
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:47
Und wenn der Anwender unabhängig von Deiner Anwendung eine Karte mit Schreibschutz einschiebt, unterbleibt dann der Hinweis?
Markus Kinzler
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Wie Fehler bzw. Rückgabewert False abfangen?

  Alt 26. Jun 2015, 14:50
Und wenn der Anwender unabhängig von Deiner Anwendung eine Karte mit Schreibschutz einschiebt, unterbleibt dann der Hinweis?
Ne, das nicht. Nur in meiner Anwendung soll der unterbleiben.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 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