procedure TForm2.TabControl1Change(Sender: TObject);
var
 temp:string;
begin
 temp:=TabControl1.Tabs.Strings[TabControl1.TabIndex];
 try
  DirectoryOutline1.Drive:=temp[1];  //temp后加[1]是什么意思?
 Except
  on EInOutError do  //  on EInOutError do是什么意思?没有这句结果也一样。
   ShowMessage(temp+'未准备好');
 end;
end;

解决方案 »

  1.   

    EInOutError 是捕获输入输出错误。比如你选择了光驱,但光驱里没有盘就会产生这样的错误
      

  2.   

    temp后加[1]是什么意思?
    指你temp字符串里的第一个字符
    on EInOutError do是什么意思?没有这句结果也一样。
    指产生异常进行的处理
      

  3.   

    tryExceptend;
    是异常处理。如果发生异常就执行Except后面的语句。on EInOutError do  //表示如果异常为EInOutError则执行……temp[1] //temp是字符串类型 字符串实际上是字符数组,[n]为数组的下标,temp[1]表示temp中的第一个字符。
      

  4.   

    on EInOutError do  表示如果有异常
    就执行你下面的ShowMessage(temp+'未准备好');