Вопрос
Как избежать или отловить ошибку недоступности диска в DriveComboBox'е?
Ответ
Данный пример работает точно в WinХР и 98. Вместо 'W' можешь подставить строковую переменную (имя диска) в любом регистре. Я специально взял 'W' в качестве имени диска, т.к. его у меня точно нет, а там в комбо сам мудри на какую букву привязать (вставляй в событие OnChange).
var
DrvNum: byte;
EMode: Word;
result: Bool;
begin
result := false;
DrvNum := ord('W');
If DrvNum >= ord('w')
Then dec(DrvNum,$20);
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
If DiskSize(DrvNum-$40) <> -1
Then result := true
else messagebeep(0);
finally
SetErrorMode(EMode);
end;
If result = True
Then Label1.Caption := 'Диск готов'
Else Label1.Caption := 'Диск не готов';
end;
Soldatov Sergey Viktorovich
Copyright 2000-2004 Сообщество Чайников
Контактная информация