Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

исключения при открытии файла   Найти похожие ветки 

 
Shturmovik   (2004-07-26 20:52) [0]

Значит у меня проблема с исключениями, всегда обходился без них а тут вот пришлось, прочитал, написал программу вроде все норма но не работает итак сначала листинг:

procedure TFormPhoto.FormActivate(Sender: TObject);
begin
DBEdit4.Visible:=false;
 try
     Image1.Picture.LoadFromFile(DBEdit4.Text);
      Image1.Visible:=true;
 except
     on EFOpenError do
       begin
           Image1.Visible:=false;
         MessageDlg("Файл фотографии "+DBEdit4.Text+" не найден.",
                     mtInformation, [mbOk], 0);
       end;
 end;
end;

Итак значит это фотоархив в базе данных, в DBEdit4 хранится путь к файлу, все выводится на Image1. Допустим мы удаляем файл и тогда при активизации формы выскакивает ошибка о несуществовании файла, очень непрятно. Тут я пытаюсь сделать чтоб вместо ошибки выскакивало окно MessageDlg и компонент Image1 ничего не отображал. Но не выходит :(


 
VMcL ©   (2004-07-26 22:26) [1]

>>Shturmovik  (26.07.04 20:52)

Что значит "не выходит"? Будем в угадалки играть:
* Не компилируется?
* Выдаёт исключение?
* Попадает на строку XXX вместо того, чтобы попасть на строку YYY?

Что по этому поводу говорит отладчик?


 
Кириешки ©   (2004-07-26 22:43) [2]

if fileexists() может быть ?


 
Кириешки ©   (2004-07-26 22:47) [3]

if not fileexists(DBEdit4.Text) then
 begin
           Image1.Visible:=false;
         MessageDlg("Файл фотографии "+DBEdit4.Text+" не найден.",
                     mtInformation, [mbOk], 0);
   end else
begin
 Image1.Picture.LoadFromFile(DBEdit4.Text);
      Image1.Visible:=true;
end;

Так не проще?


 
VMcL ©   (2004-07-26 22:53) [4]

>>Кириешки ©  (26.07.04 22:47) [3]

FileExists() имеет лишь косвенное отношение к ошибке при открытии файла.


 
Кириешки ©   (2004-07-26 22:58) [5]

>VMcL ©   (26.07.04 22:53) [4]

Не вижу смысла создавать обработку исключений
EFOpenError, если
if not fileexists(DBEdit4.Text) сам по себе не дает им быть.
Раз файла нет, то и дело с концом.

Или я что-то недопонимаю?



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-1089617066
Prohodil Mimo
2004-07-12 11:24
2004.08.08
При загрузке системы почему-то стал отключаться сервер ИБ.


3-1089620178
Artem123
2004-07-12 12:16
2004.08.08
Как изменить цвет всей строки в DBGrid ?


14-1090680950
VID
2004-07-24 18:55
2004.08.08
Какие клиенты для этого форума есть вообще ?


14-1090288714
Думкин
2004-07-20 05:58
2004.08.08
С днем рождения! 20 июля


14-1090610372
1stGame
2004-07-23 23:19
2004.08.08
Программа администратирования комп. клуба