Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  
Подписаться на рассылку:
Клуб программистов


Основы Delphi
$IOChecks
Деректива компилятора
unit
  
1 {$IOChecks Off}

2 {$IOChecks On}
Описание
Директива компилятора $IOChecks определяет, будет ли выдано исключение, когда при операции Ввода/Вывода происходит ошибка.

Когда происходит ошибка, значение по умолчанию {$IOChecks On} генерирует исключение EInOutError.

При {$IOChecks Off} исключение не генерируется. Вместо этого, ответственность за проверку операций ввода/вывода возлагается на IOResult подпрограмм.
Примечания
Когда вызывается IOResult подпрограмма сбрасывает значение ошибки ввода/вывода в 0.

$IOChecks эквивалентен $I.

Эта директива может использоваться в пределах вашего кода множество раз.

Значение по умолчанию - $IOChecks On
Похожие команды
$I  Позволяет встроить код указанного файла в модуль

IOResult  Содержит возвращаемый код последней операции ввода/вывода

 
Пример кода : Попытка создать директорию дважды
var
  error : Integer;

begin
  // Попытка создать новый подкаталог в текущем каталоге
  // Выключение проверки ошибок ввода/вывода
  {$IOChecks off}
  MkDir('TempDirectory');

  // Каталог создался?
  error := IOResult;
  if error = 0
  then ShowMessage('Каталог создался')
  else ShowMessageFmt('Создание каталога потерпело неудачу с ошибкой %d',[error]);

  // Попытка создать новый подкаталог в текущем каталоге - произойдёт ошибка!
  MkDir('TempDirectory');
  error := IOResult;
  if error = 0
  then ShowMessage('Каталог создался снова')
  else ShowMessageFmt('Повтор создания провалился с ошибкой %d',[error]);

  // Удаление каталога для очистки
  RmDir('TempDirectory');

  // Включение проверки ошибок ввода/вывода
  {$IOChecks on}
end;

Каталог создался
Повтор создания провалился с ошибкой 183
 



© Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки  |     |  Английская версия