Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.022 c
3-95711
Alameyda
2002-08-07 15:33
2002.08.29
По IB6. С процедуры получить доступ к таблице в другом GDB.


14-95976
Елена
2002-07-30 08:59
2002.08.29
Шестая версия


4-96019
LEXaP
2002-06-25 00:17
2002.08.29
Неактивный пункт меню сделать активным


3-95698
werr
2002-08-08 17:29
2002.08.29
что за ошибка?


14-95957
artgamer
2002-08-03 13:20
2002.08.29
Как настроить IPX? (В продолжение вчерашней темы)