Форум: "Основная";
Текущий архив: 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.009 c