Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
1-95864
RazorbladE
2002-08-16 12:30
2002.08.29
Высота строки в DBGrid


3-95650
-=CrazyFish=-
2002-08-07 17:28
2002.08.29
UDF


6-95921
Nikollay
2002-06-20 18:59
2002.08.29
Как уменьшить размер пакета протокола FTP?


6-95920
niko4543
2002-06-17 22:18
2002.08.29
Gator


8-95917
3d[Power]
2002-04-10 23:07
2002.08.29
wav





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский