Обработка ошибок ввода-вывода (проблема)

  • Автор темы jeckp
  • Дата начала
Статус
Закрыто для дальнейших ответов.
J

jeckp

Добрый день.

Подскажите как отключить сообщение, которе выдается операционной системой (Winodws) в виде MessageBox (с вариантами повторить-продолжить-отменить), при возникновении ошибок ввода-вывода.
Директивы компилятора типа {$I-} не помогают.
 
S

Silence

заключить код в блок try... except...end;
 
C

Coldfate

Или работать с потоками (если диск существует), и использовать fmShareDenyNone то бишь

var f: TFileStream;

...

f := TfileStream.Create('Файл',fmOpenRead or fmShareDenyNone);
 
B

Barmutik

Не совсем понятно чем здесь поможет fmShareDenyNone?

Ну разрешите Вы другим приложениям использовать Ваш файл и как это поможет обойти ошибки ?
 
J

jeckp

Уважаемые коллеги!
Ситуация немного прояснилась. Опции {$i-+} работают, но только не на флопповоде :). А я когда тестировал, то использовал только флопповод не подозревая, что он, в отличии от остальных дисковых накопителей может обрабатываться по другому.
Сейчас вопрос изменился, как корректно обработать ошибки ввода-вывода при работе с флопповодом, и в частности, при работе с компонентом "TDriveComboBox"? :D
Зараннее благодарен.
 
C

Coldfate

Не совсем понятно чем здесь поможет fmShareDenyNone?

Ну разрешите Вы другим приложениям использовать Ваш файл и как это поможет обойти ошибки ?

fmShareDenyNone ещё и позволяет получить доступ к файлу, занятому другим процессом (если тот спецом не запретил это). По крайней мере у меня.
 
B

Barmutik

Для: Coldfate

Значит у Вас специальная версия операционной системы или Дельфи .. потому что в обычной он преднозначен для другого...
 
C

Coldfate

Barmutik:
Тогда почему доступ к открытому файлу можно получить только через fmShareDenyNone?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!