Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1090875187
ANT
2004-07-27 00:53
2004.08.08
Размер имеет значение!


1-1090930373
maxim_m_m
2004-07-27 16:12
2004.08.08
как заменить txfxfButton на кнопку


1-1090965433
барбос
2004-07-28 01:57
2004.08.08
после компиляции программа плохо работает


14-1090335492
@лексей
2004-07-20 18:58
2004.08.08
WebBrowser


3-1089893434
XAdmin
2004-07-15 16:10
2004.08.08
OLE error 80040E21




   Наверх