Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Wie Fehler bzw. Rückgabewert False abfangen? (https://www.delphipraxis.net/185641-wie-fehler-bzw-rueckgabewert-false-abfangen.html)

BadenPower 26. Jun 2015 16:17

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

Zitat von AlexII (Beitrag 1306743)
Jetzt stehe ich auf dem Schlauch? Kann etwa GetVolumeInformation nicht erfolgreich sein.

Wenn Du zum Beispiel auf Laufwerk X prüfst und hast gar kein Laufwerk X, oder sonst einen Müll eingibst.

Siehe Sir Rufo's Post #26

Zitat:

Zitat von AlexII (Beitrag 1306743)
Was bekommt dann Result wenn es nicht erfolgreich war?

Welches Result?

Das Deiner Funktion oder das der Funktion GetVolumeInformation?


[EDIT]
AlexII hat seinen Beitrag geändert, bevor meine Antwort auf seinen Original-Text gesendet wurde.

Sir Rufo 26. Jun 2015 16:18

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

Zitat von AlexII (Beitrag 1306743)
Zitat:

Zitat von BadenPower (Beitrag 1306742)
Zitat:

Zitat von AlexII (Beitrag 1306740)
Moment, muss es nicht so sein? Ohne if-Abfrage?

Und wie unterscheidest Du, ob die Abfrage mit GetVolumeInformation gültig/erfolgreich war, wenn Du die If-Abfrage wegläßt?

True ist nur dann wenn Laufwerk nur lesbar?

NEIN, wenn der API-Call eine vernünftige Antwort ermitteln konnte, ansonsten steht in den Werten nämlich auch nur Grütze (weil vorher Grütze reingekommen ist).

Delphi-Quellcode:
GetVolumeInformation( PCHAR('Grütze'), ... )
.

Ach ja, RTFM -> MSDN-Doku (Link weiter oben)

AlexII 26. Jun 2015 16:23

AW: Wie Fehler bzw. Rückgabewert False abfangen?
 
Also wenn das Laufwerk beschreibbar ist, ist Result = 0(False). Und wenn unbeschreibbar = -1(True) :roteyes:

Delphi-Quellcode:
  if GetVolumeInformation(PChar(Root), nil, 0, nil, MaximumComponentLength, FileSystemFlags, nil, 0) then
  begin
    Result := ((FileSystemFlags and FILE_READ_ONLY_VOLUME) = FILE_READ_ONLY_VOLUME);
    showmessage(booltostr(result));
  end;

BadenPower 26. Jun 2015 16:31

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

Zitat von AlexII (Beitrag 1306750)
Also wenn das Laufwerk beschreibbar ist, ist Result = 0(False). Und wenn unbeschreibbar = -1(True) :roteyes:

Da gibt es doch nichts, was einem die Augen verdrehen läßt.

Du prüfst doch, ob das Flag FILE_READ_ONLY_VOLUME gesetzt ist.

Ist der Datenträger beschreibbar, dann ist das Flag FILE_READ_ONLY_VOLUME nicht gesetzt und daher lautet das Ergebnis "false" (Flag nicht gesetzt).

AlexII 26. Jun 2015 16:37

AW: Wie Fehler bzw. Rückgabewert False abfangen?
 
Ich glaube ich mache mal ne Pause....

Sir Rufo 26. Jun 2015 20:05

AW: Wie Fehler bzw. Rückgabewert False abfangen?
 
Das umkehren von boolschen Werten ist aber auch schon High Level Programming und nur was für erfahrene Programmierer ... OMG

Perlsau 26. Jun 2015 21:08

AW: Wie Fehler bzw. Rückgabewert False abfangen?
 
Du meinst sicher sowas hoch anspruchsvolles wie
Delphi-Quellcode:
MyBoolVar := Not MyBoolVar;
:stupid:
Da kann ich dir nur beipflichten, ist nichts für Anfänger :twisted:

Sir Rufo 26. Jun 2015 21:21

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

Zitat von Perlsau (Beitrag 1306781)
Du meinst sicher sowas hoch anspruchsvolles wie
Delphi-Quellcode:
MyBoolVar := Not MyBoolVar;
:stupid:
Da kann ich dir nur beipflichten, ist nichts für Anfänger :twisted:

Könntest du dafür noch ein Tutorial mit Video zu machen ... das versteht doch wieder keiner :mrgreen:

AlexII 26. Jun 2015 22:20

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

Zitat von Sir Rufo (Beitrag 1306773)
Das umkehren von boolschen Werten ist aber auch schon High Level Programming und nur was für erfahrene Programmierer ... OMG

Ich drehe nur das was verstehe... jetzt kann ich das auch, aber nicht vor ein Paar Stunden wo ich den Code noch verstehen versuchte.

Perlsau 27. Jun 2015 06:35

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

Zitat von Sir Rufo (Beitrag 1306783)
Könntest du dafür noch ein Tutorial mit Video zu machen ... das versteht doch wieder keiner :mrgreen:

Okay, hab ich gemacht: Die Variable heißt tot, erst ist sie false, dann true, dann wieder false und dann endgültig true.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Seite 4 von 5   « Erste     234 5      

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