Главная страница
    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.48 MB
Время: 0.011 c
14-95942
Александр
2002-08-02 12:48
2002.08.29
Совместимость ПО с Windows XP


1-95876
w_devil
2002-08-17 16:38
2002.08.29
как отловить WM_QUIT ?


3-95715
delphiwhat
2002-08-09 10:33
2002.08.29
Помогите разобраться (базы данных).


1-95789
Андрусь
2002-08-19 19:27
2002.08.29
Как програмно поменять раскладку клавиатуры.


14-95952
igorr
2002-08-03 05:51
2002.08.29
Склонение фамилий *юк, *ук





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский