读书人

怎么解决There is no disk in the dri

发布时间: 2012-06-28 15:20:03 作者: rapoo

如何解决There is no disk in the drive的错误?
我用Delphi编写了一个读取USB里数据的软件。
程序自动扫描计算机所有USB设备,很简单,代码如下:

Delphi(Pascal) code
procedure GetUsbDrives(List: TStringList);var  DriveBits: set of 0..25;  I: Integer;  Drive: AnsiChar;begin  List.BeginUpdate;  try    Cardinal(DriveBits) := GetLogicalDrives;    for I := 0 to 25 do      if I in DriveBits then      begin        Drive := Chr(Ord('a') + I);        if GetBusType(Drive) = BusTypeUsb then        begin          List.Add(Drive);        end;      end;  finally    List.EndUpdate;  end;end;


客户使用Win7, 使用时弹出错误 :


这个错误不是我在代码中定义的,是windows产生的。Google了一下,
发现回答感觉都牛头不对马嘴。

大家有人碰到这问题吗?如何解决?谢谢

[解决办法]
Drive := Chr(Ord('a') + I);
改为
Drive := Chr(Ord('A') + I);
大小写数值不一样的
[解决办法]
try..except
[解决办法]
USB读卡器插入电脑,盘符就会出来,不管你是否在读卡器中插入了SD卡(等),而当你访问这个盘符的时候,就会出错,当卡插入读卡器中时,就没问题,

http://www.61ic.com/vip/tx/USB/200705/7249.html

研究一下这个里面的API,由于没需求又不会C,所以剩下的工作你自己搞定了.
[解决办法]
研究一下这个里面的API

读书人网 >.NET

热点推荐