Главная страница
    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.009 c
1-4960
в режиме поиска
2003-01-23 12:19
2003.02.03
TreeNode.Data и String


3-4747
Melamed
2003-01-15 20:21
2003.02.03
Вопрос по сообщениям BeforeScroll и AfterScroll


1-4893
malkolinge
2003-01-22 19:56
2003.02.03
Collections !


3-4823
ledzzz
2003-01-17 18:15
2003.02.03
Fastreport 2.47


3-4735
ufff
2003-01-13 17:14
2003.02.03
for select





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