플로피와 하드드라이브를 읽어들이는 루틴인데여..
물론 드라이브탭을 이용해서 하는 루틴인데요..델파이 예제에 있는겁니다..
만약에 드라이브가 A :floppy c:hard disk 일때...
A탭을 누르면 A드라이브가 읽히고 C탭을 누르면 C를 읽어들인다고 가정할때..A 드라이브에 디스켓이 없으면 에러메시지가 나오고 C로 넘어가지도 못해여..
에러메시지는 EoutLine Error이렇게 나오고 outline index not found 이렇게도 나오네여..
여기서 Except부분이 에러 핸들링하는 부분인데..
위 상황일경우 에러가 DirectoryOutline.Drive := Tabs[NewTab][1];
위에서 발생하거든요 ?
이경우 어떻게 에러처리를 하면 됄까여..
procedure TFMForm.DriveTabSetChange(Sender: TObject; NewTab: Integer;
var AllowChange: Boolean);
begin
if not (csDesigning in ComponentState) then
begin
AllowChange := True;
try
with DriveTabSet do
DirectoryOutline.Drive := Tabs[NewTab][1];
except
on EInOutError do
begin
AllowChange := False;
with DriveTabSet do
DirectoryOutline.Drive := Tabs[TabIndex][1];
raise;
end;
end;
end;
end;