Ver Mensaje Individual
  #3  
Antiguo 11-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Vayamos por partes:

Lo primero es definir nuestras propias excepciones, a mí me gusta hacerlo para cada proyecto:
Código Delphi [-]
type 
   EMiProyecto = class (Exception);
Esto lo ponemos en alguna unidad que se use en todo el proyecto, para tenerla a mano.

Cuando queremos lanzar una Excepción usamos:
Código Delphi [-]
raise EMiProyecto.Create('Mensaje de la Excepción');

Para el caso concreto, entre otras formas, podemos hacerlo así:
Código Delphi [-]
if not (Datamodule1.QueryGenerico.Fields[13].AsString = '') then begin 
try
  FrmEmpleadosD.Imagen.Picture.LoadFromFile(Datamodule1.QueryGenerico.FieldValues['img_empleados']); 
except
On E:Exception do //para cualquier excepción
  raise EMiProyecto.CreateFmt(' el archivo %s no puede cargarse', 
                         Datamodule1.QueryGenerico.Fields[13].AsString );
FrmEmpleadosD.Imagen.Visible:=true;
end;

Como sabes, al producirse una excepción se corta la ejecución del programa justo en la línea "raise ..." por tanto, en el caso de que no se encuentre la imagen, no se hará visible el TImage.

Cuando el archivo se encuentre, pues se obvia las lineas del manejo de excepciones y despues sí se hará visible.

Si te fijas en el mensaje de la excepción, no digo que no se ha encontrado la imagen, sino que no puede cargarse. El método LoadFromFile puede que lance un error de "formato de imagen no válida" en lugar del tipico "no se encuentra el archivo".

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita