我有一個函數,檢查驅動器(CD/DVD,USB鑰匙,軟盤是否正常)...錯誤DiskSize德爾福
它的工作完美...如果它小於0 ...它返回沒有驅動器連接...
最大的問題,我刪除了我的U盤,沒有噴射;;;我把U盤......所以了disksize函數返回以下錯誤:
there is the disk in the drive. please insert a disk into drive device
如何解決這個錯誤......因爲功能是否正常工作...只是DiskSize是產生這個錯誤,事實上,我是puzado棒子沒有彈出...
// Check if drive is OK
function DriveOK (Drive: Char): boolean;
var
I: byte;
space: integer;
begin
Drive: = upcase (Drive);
not if (Drive in ['A' .. 'Z']) then Begin
raise Exception.Create ('incorrect Unit');
end;
I: = Ord (Drive) - 64;
if (DiskSize(I) >= 0) then Begin
Result: = false;
End Else Begin
Result: = true;
end;
end;
我的系統是64位Windows 7 ...我發現,因爲刪除的打印機內存卡生成錯誤......但問題是,這卡compatilhado網絡......當我刪除網絡共享......它不會產生錯誤......
我們可以有一個完整的程序,提供您顯示的輸出。 –
你有哪個版本的Windows?爲什麼我問這個的原因是,當我已經安裝了Windows 8.1,以我的媽媽,上週新電腦(之前我從來沒有使用過Windows 8.1)我注意到,每一個新的USB閃存驅動器或外接硬盤獲得分配有自己的驅動器盤符即使我已經刪除了以前使用的USB閃存驅動器或外置硬盤。我甚至注意到Windows 8.1在設備管理器中列出了可移動設備,例如USB閃存驅動器或外部HSS,以及分配給它們的驅動器盤符。 – SilverWarior
因此,您的程序可能會嘗試從disconected設備檢索磁盤大小,因爲windows仍然會爲其指定一個drkive字母。現在不幸的是我沒有訪問我的媽媽電腦來測試。 – SilverWarior