mirror of https://gitlab.com/basile.b/dexed.git
fix #18, empty drive errors
This commit is contained in:
parent
6403d23dd7
commit
4357515016
|
@ -636,20 +636,26 @@ procedure listDrives(aList: TStrings);
|
|||
var
|
||||
drv: char;
|
||||
ltr, nme: string;
|
||||
OldMode : Word;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IFDEF WINDOWS}
|
||||
setLength(nme, 255);
|
||||
for drv := 'A' to 'Z' do
|
||||
begin
|
||||
ltr := drv + ':\';
|
||||
if not GetVolumeInformation(PChar(ltr), PChar(nme), 255, nil, nil, nil, nil, 0) then
|
||||
continue;
|
||||
case GetDriveType(PChar(ltr)) of
|
||||
DRIVE_REMOVABLE,
|
||||
DRIVE_FIXED,
|
||||
DRIVE_REMOTE: aList.Add(ltr);
|
||||
OldMode := SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
try
|
||||
for drv := 'A' to 'Z' do
|
||||
begin
|
||||
ltr := drv + ':\';
|
||||
if not GetVolumeInformation(PChar(ltr), PChar(nme), 255, nil, nil, nil, nil, 0) then
|
||||
continue;
|
||||
case GetDriveType(PChar(ltr)) of
|
||||
DRIVE_REMOVABLE,
|
||||
DRIVE_FIXED,
|
||||
DRIVE_REMOTE: aList.Add(ltr);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
SetErrorMode(OldMode);
|
||||
end;
|
||||
{$ELSE}
|
||||
aList.Add('//');
|
||||
|
|
Loading…
Reference in New Issue