Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщение ОС при обращении к недоступному диску [D6, WinXP]


saNat ©   (2005-09-14 01:44:00) 

Доброго времени суток (о:

Вот такой вопрос возник. Предположим я обращаюсь к несуществующему диску (A:\, например). При этом использую try...except. При этом ОС выводит сообщение о неготовности диска с вариантами "Продолжить/Повторить/Отменить" и затем обрабатывает секцию except (там мое сообщение о недоступности диска). Как убрать сообщение ОС?

С уважением, ЕВА


saNat   (2005-09-22 01:17:00) [1]


> Fay ©   (14.09.05 06:56) [1]

Спасибо за идею...

> GanibalLector ©   (21.09.05 22:11) [3]
>...
>  SetErrorMode(SEM_FAILCRITICALERRORS);

Правильное решение. Спасибо.

Так как делал я работало "не так" и вне IDE

Еще раз спасибо


GanibalLector   (2005-09-21 22:12:00) [2]

P.S. Для проверки запусти не из IDE.


GanibalLector   (2005-09-21 22:11:00) [3]


var
ConfigFile:File of Byte;
begin
  SetErrorMode(SEM_FAILCRITICALERRORS);
 try
   AssignFile(ConfigFile,'A:\demo.demo');
   Reset(ConfigFile);
   // and other
   CloseFile(ConfigFile);
 except
   MessageDlg('Файл настроек отсутствует',mtError,[mbOk],0);
 end;
end;


saNat   (2005-09-21 14:45:00) [4]

Делаю так:


Unit ConfigUnit;

Interface

Uses
Dialogs,Windows;

Type
TConfig=Record
 Host:String[128];
 Port:Byte;
End;

Function SetConfig(ConfigFilePath:String):Pointer;

Implementation

Function SetConfig(ConfigFilePath:String):Pointer;
Var
 ConfigFile:File of TConfig;
Begin
SetErrorMode(SEM_NOOPENFILEERRORBOX);
Assign(ConfigFile,'A:\demo.demo');
Try
 Reset(ConfigFile);
Except
 MessageDlg('Файл настроек отсутствует',mtError,[mbOk],0);
End;
Result:=Nil;
End;

End.


Сначала выскакивает сообщение "В устройстве нет диска. Вставьте диск в устройство А:" (Кнопки "Отмена","Повторить","Продолжить") и только после этого отрабатывается мое сообщение. Что не так?


Fay   (2005-09-14 06:56:00) [5]

SetErrorMode ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо