El problema es que no estas controlando la excepción, para evitar esto, primero tenés que analizar si la imagen es válida y de ser así cargarla, ya que si lo haces al revéz, la excepción genera un error por estar cargando de antemano un imagen corrupta. Probé el código y si libero cuando una imagen esta corrupta (renombre un exe a jpg y probé!!!
) ya no tengo la excepción. La idea, es que, cuando una imagen sea corrupta, cargues otra que diga error en JvThumb, queda muy bien y das un aviso de que archivo está mal.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var img:TImageData;
begin
If OpenPictureDialog1.Execute
then Begin
Imaging.InitImage(Img);
Imaging.LoadImageFromFile(OpenPictureDialog1.FileName,img);
if Imaging.TestImage(Img)
then begin jvthumbview1.AddFromFile(OpenPictureDialog1.FileName);
end
else begin
Imaging.FreeImage(Img); jvthumbview1.AddFromFile('C:\imageError.bmp');
end;
End;
end
__________________
Código Delphi
[-]
try
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;