Текущий архив: 2002.08.29;
Скачать: CL | DM;
Внизtry... finally в Delphi 5 Найти похожие ветки
← →
Punk4 (2002-08-11 20:48) [0]Обработка try ... except или finally нифинали не работает
какбудто эти юлоки не своять вовсе!
Следующий код не работает нифига:
try
TImage1.Picture.LoadFromFile("1,jpg");
finally
// отчищаем пиктуру
end;
Моет я идиот? Но если кто помоет отпишитесь сюда или на мыло!
← →
app (2002-08-11 20:57) [1]Наверно твой блок не получает управления или ты не все нам сказал. Я например не понял, почему ты рещпл, что не работает.
← →
^Sanya (2002-08-11 21:01) [2]->TImage1.Picture.LoadFromFile("1,jpg");
заменить на
TImage1.Picture.LoadFromFile("1.jpg"); - авось поможет...
Или ты специально "TImage1.Picture.LoadFromFile("1,jpg");" написал?
← →
Punk4 (2002-08-11 21:02) [3]Понимаете, пиплы, кода в Имаже груже файл с расширением жпег(файл на самом деле не Жпег), он пишет что неверный формат у файла, (Узе Жпег указано!), то Делфа какбы пропускает указаные try ... finall и фо время выполнения выдает ошибку о не соответствии форматов!
← →
Anatoly Podgoretsky (2002-08-11 21:04) [4]^Sanya © (11.08.02 21:01)
А в чем у тебя различие?
← →
Punk4 (2002-08-11 21:09) [5]Дав в том что файли имеет ресширение Жпег а на самом то деле он не Жпег
← →
esu (2002-08-11 21:12) [6]А ты не из Delphi пробовал запускать свою программу?
← →
Punk4 (2002-08-11 21:22) [7]Попробовал! НИФИГА!HELP!
← →
drpass (2002-08-11 21:41) [8]Ну и правильно, он должен выдавать сообщение об ошибке. Ошибки давятся не блоком try...finally, а блоком try...except
← →
Punk4 (2002-08-11 21:43) [9]А как этот должно выглядить? А !
Я вообщето еще неочень в этом деле! помогите!
← →
drpass (2002-08-11 21:53) [10]try
Image1.Picture.LoadFromFile("1,jpg");
except
// выводим свое сообщение об ошибке, или вообще ничего не делаем
end;
← →
Punk4 (2002-08-12 08:44) [11]Пробовал нихрена не работает!
Пропускает выдает ошибку выполнения! Причем пробовал еще и на другой ситуации: открытие несуществующего файла! Тое самое!
← →
True Smithson (2002-08-12 09:03) [12]Объясняю. В Delphi есть свой модуль для обработки JPEG. Когда ты пытаешься загрузить .jpg, управление реально передается этому модулю (объекту TJPEGImage) и он-то и ругается, что ему подсунули не JPEG. Твой блок try finally просто не видит exception. Он обрабатывается раньше...
Выход? Используй напрямую нужные объекты (TBitmap, TJPEGIMage, TGifImageб еtс) и в них обрабатывай ошибки. Я так делал.
← →
alena.svt (2002-08-12 11:10) [13]TImage не лучшее средство для показа картинок, но если тр. простенько то возможно у вас не получается из-за того что в Delphi не отключена опция "Stop on Delphi exception". Хотя ее и ненадо бы отключать имхо.
Положте на форму TButton , TImage, TEdit.
В OnButtonClick добавьте сл. код.
procedure TForm1.Button1Click(Sender: TObject);
begin
try
if not fileexists(Edit1.Text) then exit // если файла не существует значит отмена
else
Image1.Picture.LoadFromFile(Edit1.text);// В значение Edit1.text вводим путь и имя файла
except
// здесь можно вывести например ShowMessage("Ошибка при загрузке файла "+ ExtractFileName(Edit1.Text)+ ")");
end
end;
Дельфи среагирует на ошибку после чего нажмите далее Run и работайте.
Если вы запустите вне среды дельфи то ошибки не будет вовсе видно.
С уважением
← →
Skier (2002-08-12 11:23) [14]>Punk4
А ты это :
Debugger Options|Language Exceptions|Stop On Delphi Exceptions := True;
не пробовал ?
← →
alena.svt (2002-08-12 13:37) [15]
Skier ©
Вроде я ему про это же и написала?
← →
Vlad1 (2002-08-18 19:45) [16]Во-первых, надо
uses jpeg
. Во-вторых, проверку делай с помощьюif not(image1.picture.graphic is TJpegImage) then
.
Страницы: 1 вся ветка
Текущий архив: 2002.08.29;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.005 c