Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Es befindet sich kein Datenträger in Laufwerk A:... (https://www.delphipraxis.net/5796-es-befindet-sich-kein-datentraeger-laufwerk.html)

FriFra 19. Jun 2003 14:30


Es befindet sich kein Datenträger in Laufwerk A:...
 
Ich habe folgende Funktion in meinem Programm:
Delphi-Quellcode:
  function GetVolumeName(Drive: string): string;
  var
    dummy: DWORD;
    buffer: array[0..MAX_PATH] of Char;
    oldmode: LongInt;
  begin
    Result := '';
    if Length(Drive) <= 3 then
    begin
      oldmode := SetErrorMode(SEM_FAILCRITICALERRORS);
      try
        GetVolumeInformation(PChar(Drive), buffer, SizeOf(buffer), nil, dummy,
          dummy, nil, 0);
        Result := StrPas(buffer);
      finally
        SetErrorMode(oldmode);
      end;
    end;
  end;
Unter WinXP funktioniert alles wunderbar, aber unter NT4 popt immer eine Fehlermeldung auf, dass sich kein Datenträger in Laufwerk A befinden würde... da ist allerdings sehr lästig, da es sich um eine Serverapplikation handelt.

Alter Mann 15. Nov 2003 15:05

Re: Es befindet sich kein Datenträger in Laufwerk A:...
 
Füge dies in den try-finally Abschnitt ein.

Delphi-Quellcode:
 IF DiskSize(Ord(Drive) - $40) = -1 THEN
      Result := FALSE
    ELSE
      Result := TRUE;
[edit=Luckie]BB-Codes aktiviert. (Ohne macht die Code-Tags wenig Sinn. :zwinker:) Mfg, Luckie[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 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 by Thomas Breitkreuz