Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Внизисключения при открытии файла Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c