Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
1-4919
Armageddon
2003-01-25 00:35
2003.02.03
Как програмно добавить символ с определенным кодом в Richedit(нап


1-4856
Antosya
2003-01-24 16:32
2003.02.03
Часы!


14-5272
RGray
2003-01-16 21:03
2003.02.03
Манагер программ + мониторинг инета


1-4935
MAPIIIAJL
2003-01-25 10:54
2003.02.03
Перевод Single в байтовый массив и обратно.


14-5202
vor
2003-01-15 14:51
2003.02.03
Компоненты для Дельфи