Ver Mensaje Individual
  #20  
Antiguo 11-04-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Reputación: 19
MaMu Va por buen camino
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
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 11-04-2008 a las 20:42:00.
Responder Con Cita