FileListBox1.Directory :='A:\';
 访问时报错 I/0 error 21 ?
请问高手,怎么解决这个问题?

解决方案 »

  1.   

    try
      FileListBox1.Directory :='A:\';
    except
      showmessage(no disk in A:);
    end;
      

  2.   

    to  outer2000(天外流星)
    不行呀?怎么来先判断软区中是否有盘呀?
      

  3.   

    function DiskInDrive(Drive: Char): Boolean;
    var
        ErrorMode: word;
    begin
        if Drive in ['a'..'z'] then Dec(Drive, $20);
        if not (Drive in ['A'..'Z']) then
            raise EConvertError.Create('Not a valid drive ID');
        ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
        try
       { drive 1 = a, 2 = b, 3 = c ... }
            if DiskSize(Ord(Drive) - $40) = -1 then
                Result := False
            else
                Result := True;
        finally
            SetErrorMode(ErrorMode);
        end;
    end;