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

Вниз

Обработка Ошибки Загрузки Файла   Найти похожие ветки 

 
xn0bys   (2003-01-23 11:31) [0]

ГОСПОДА! ВОПРОСИК: после сообщения об ошибке на сбойном файле (EStreamError) если попытаться загрузить хороший файл, то возникает опять эта же ошибка, в то время, как если сообщения не возникало, этот файл грузится нормально.
Что делать? И как с этим боротся!


 
xn0bys   (2003-01-23 11:35) [1]

Забыл. Вот кусок кода:

tempPic:=TPicture.Create;
try
tempPic.LoadFromFile(FileName);
except
on EInvalidGraphic do
begin
MessageDlg(PChar("Unknown Picture Format"),mtError, [mbOK], 0);
tempPic:=nil;
end;
on EStreamError do
begin
MessageDlg(PChar("Stream Error"),mtError, [mbOK], 0);
tempPic:=nil;
end;
end;
if tempPic<>nil then
if tempPic.Graphic<>nil then
Image1.Picture:=tempPic;
tempPic.free;


 
Separator   (2003-01-23 11:44) [2]

Замени все

tempPic:= nil;

на

tempPic.Free;
tempPic:= nil;


 
xn0bys   (2003-01-23 11:48) [3]

Да а чего тогда делать с последним
tempPic.free;
который идет после end;


 
3223(jab)   (2003-01-23 11:50) [4]

var
b:TBitmap;
bit:Boolean;
begin
b:=TBitmap.create;
try
b.LoadFromFile(FileName);
bit:=True;
except
MessageDlg(PChar("Unknown Picture Format"),mtError, [mbOK], 0);
end;
if bit=True then Image1.Picture.assign(b);
b.free;
end;
Не знаю что ты имел в виду... это на сколько я понял... вроде можно и так


 
xn0bys   (2003-01-23 11:57) [5]

to jab
в том-то и прикол, что мне надо не только BMP, а любой графический.

Та фигня что я написал работает! НО!!! только до того момента пока не произойдет ошибка (плохой файл).

to Separator
не работает, всё равно та-же фигня.


 
gek   (2003-01-23 11:57) [6]


> xn0bys © (23.01.03 11:48)
> Да а чего тогда делать с последним
> tempPic.free;
> который идет после end;

Надо еще блок try ... finally


 
xn0bys   (2003-01-23 12:13) [7]

to Gek

извини, а куда его вставить, я думаю все равно не поможет.


 
Separator   (2003-01-23 12:55) [8]


procedure TForm1.Image1DblClick(Sender: TObject);
var
Pic: TPicture;

begin
if OpenPictureDialog1.Execute then
begin
Pic:= TPicture.Create;
try
Pic.LoadFromFile(OpenPictureDialog1.FileName);
except
on EInvalidGraphic do
begin
MessageDlg(PChar("Unknown Picture Format"),mtError, [mbOK], 0);
Pic.Free;
Pic:= nil
end;
on EStreamError do
begin
MessageDlg(PChar("Stream Error"),mtError, [mbOK], 0);
Pic.Free;
Pic:= nil
end
end;
if Pic <> nil then
begin
(Sender as TImage).Picture.Assign(Pic);
Pic.Free
end
end
end;


 
xn0bys   (2003-01-23 13:06) [9]

to Separator

<color=Red> ПРИКИНЬ!!! </color>
НЕ РАБОТАЕТ!!!!!!!!!, всё равно та-же фигня.


 
Zz_   (2003-01-23 13:13) [10]

Попробуй на except IOResult вызвать


 
gek   (2003-01-23 13:13) [11]

Ну может так

tempPic:=TPicture.Create;
bool:=true;
try
try
tempPic.LoadFromFile(FileName);
except
on EInvalidGraphic do
begin
MessageDlg(PChar("Unknown Picture Format"),mtError, [mbOK], 0);
bool:=false;
end;
on EStreamError do
begin
MessageDlg(PChar("Stream Error"),mtError, [mbOK], 0);
bool:=false;
end;
end;
finally
if bool then
Image1.Picture.Assign(tempPic);
tempPic.free;
tempPic:=nil;
end;



 
xn0bys   (2003-01-23 13:22) [12]

to gek

Неа, не фурычит.


 
Игорь Шевченко   (2003-01-23 15:08) [13]

А что говорит, когда не фурычит ?


 
xn0bys   (2003-01-23 15:16) [14]

to Игорь Шевченко

После ошибки, при попытке загрузить любой файл выдает Stream Error...
Вот така байда...


 
Игорь Шевченко   (2003-01-23 15:49) [15]

procedure TForm1.Image1DblClick(Sender: TObject);
var
Pic: TPicture;
begin
if OpenPictureDialog1.Execute then begin
Pic:= TPicture.Create;
try
Pic.LoadFromFile(OpenPictureDialog1.FileName);
except
on EInvalidGraphic do begin
MessageDlg(PChar("Unknown Picture Format"),mtError, [mbOK], 0);
Pic.Free;
Pic:= nil
end;
on EStreamError do begin
MessageDlg(PChar("Stream Error"),mtError, [mbOK], 0);
Pic.Free;
Pic:= nil
end
end;
end;
if Pic <> nil then begin
(Sender as TImage).Picture.Assign(Pic);
Pic.Free
end
end;



Работает на ура



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-5035
vika_s
2003-01-24 08:41
2003.02.03
Команда subst


1-4982
sddqw
2003-01-23 14:03
2003.02.03
Удаление обьектов


8-5070
Алешка
2002-10-15 18:38
2003.02.03
Как получить цвет точки экрана с заданными координатами?


14-5172
GebbelZ
2003-01-17 00:02
2003.02.03
Смена прошивки мамы :(


6-5127
alev
2002-12-06 13:10
2003.02.03
Список ip- адресов





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