![]() |
GetVolumeInformation seltsames Verhalten?
Folgendes Konstrukt gibt als Rückgabe sonderliche Zeichen beispielsweise einen Pfeil der nach oben zeigt wenn man Informationen eines Laufwerks abfragt welches nicht verbunden ist
Delphi-Quellcode:
Ist es möglich vorher abzufragen, ob das Laufwerk überhaupt verbunden ist?
DriveLetter := #0;
Tmp := ExtractFileDrive(Path); if Length(Tmp) >= 1 then DriveLetter := Tmp[1]; if DriveLetter <> #0 then begin GetVolumeInformation(PChar(DriveLetter + ':\'), Buf, SizeOf(Buf), nil, Max, Flags, nil, 0); sRes := StrPas(Buf); end; |
AW: GetVolumeInformation seltsames Verhalten?
Wenn du es unbedingt über die WinAPI (statt den Komfortfunktionen welche dir Delphi schon bietet) nutzen willst:
![]() Außerdem solltest du den Rückgabewert deines GetVolumeInformation-Aufrufs auswerten, der gibt ein True/False zurück ob es überhaupt geklappt hat :!: |
AW: GetVolumeInformation seltsames Verhalten?
Wie ist "Buf" deklariert?
Und warum prüft niemand den Rückgabewert dieser API? ![]() |
AW: GetVolumeInformation seltsames Verhalten?
Fehler gefunden danke.
|
AW: GetVolumeInformation seltsames Verhalten?
Aber für andere Hilfesuchende, mit dem gleichen Problem, nicht genannt.
Die bedanken sich bestimmt dann auch, wenn sie diesen Thread finden. |
AW: GetVolumeInformation seltsames Verhalten?
So ist es falsch
Delphi-Quellcode:
So ist es besser
GetVolumeInformation(PChar(DriveLetter + ':\'), Buf, SizeOf(Buf), nil, Max, Flags, nil, 0);
sRes := StrPas(Buf);
Delphi-Quellcode:
Wenn jetzt sRes = '' ist, kann man ja noch immer gucken was man macht. Vielleicht sogar ein RaiseLastOSError oder eine andere Behandlung.
if GetVolumeInformation(PChar(DriveLetter + ':\'), Buf, SizeOf(Buf), nil, Max, Flags, nil, 0) then
sRes := StrPas(Buf); |
AW: GetVolumeInformation seltsames Verhalten?
Danke.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 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