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

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

TDriveComboBox [D5, WinME]


Грифон ©   (2001-12-29 09:43:00) 

При выборе сменного диска, которого нет в устройстве, вылетает сообщение "I/O error" Помогите мне его перехватить и вывести свой мессадж.


Грифон   (2002-01-02 17:24:00) [1]

В том-то и дело, что до обработчика OnChange уже происходит ошибка.


SergVlad   (2001-12-29 22:58:00) [2]

Ну и в чем проблема ?
Используй приведенный код в обработчике OnChange.
В DiskSize(..) указывай число
0 - текущий
1- A
2- B
и т.д.
получая его из DriveCbx.Drive


Грифон   (2001-12-29 19:24:00) [3]

Так, а если в TDriveComboBox есть выбор между "A" и несколькими СВ-Rom"ами, то как выяснить что выбрал юзер и после выдать соответствующее сообщение. Пытался в обработке OnClick сделать TDriveComboBox.Drive - но он определяет текущий диск, а не тот который пытаемся выбрать, помогите, плз.


panov   (2001-12-29 10:00:00) [4]

(из конференции):
Перед проверкой наличия диска:
{$I-}
и обрабатывай ошибку.
//после проверки
{$I+}


SergVlad   (2001-12-29 09:53:00) [5]

Вот так..

procedure TAutoForm.btnCheckClick(Sender: TObject);
var
ErrorMode: word;
begin
ErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
if DiskSize(1) = - 1 then
ShowMessage( "No disk in drive A" )
else
begin
{ Your code }
end;
finally
SetErrorMode(ErrorMode);
end;
end;


Наверх

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