Cita:
Empezado por mamu
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 //Si es válida la cargo
jvthumbview1.AddFromFile(OpenPictureDialog1.FileName);
end
else begin
Imaging.FreeImage(Img); //esta corrupto, libero
jvthumbview1.AddFromFile('C:\imageError.bmp');
end;
End;
end
|
Gracias nuevamente, rayos y recontrarrayos me sigue pasando a la 5ta imagen me sale la excepción, puse el código que me pusiste
no será que falta el With EoUtOfresources do begin ...end;? a eso te referias, podria pasrte la imagen, voy a seguir investigando :::..ando corto de tiempo
saludos y muchas gracias, compensare toda la ayuda en cuanto pueda gracias