![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из ексепшина EInOutError вытащить ErrorCode? [D5, D6, D7]
iNew © (2003-02-11 04:30:00)//В хелпе нашел, что надо сделать так
type EInOutError = class(Exception)
ErrorCode: Integer;
end;
//дальше идет функция
procedure TPrintForm.cf(const FileName, DestName: TFileName);
var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Byte;//Char;
begin
AssignFile(FromF, FileName);
Reset(FromF, 1); { Record size = 1 }
AssignFile(ToF,DestName); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
try
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
except
on EInOutError do
begin
// Здесь надо это ErrorCode
end;
end;
CloseFile(FromF);
CloseFile(ToF);
end;
jack128 (2003-02-11 04:38:00) [1]try
...
except
on E : EInOutError do begin
E.ErrorCode // И делай с этим кодом чего душа желает :)
end;
end;