Ver Mensaje Individual
  #7  
Antiguo 22-07-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Lo que DEBERIAS HABER HECHO es disponer de un campo en dicha tabla que almacene el tipo de imagen. De ese modo luego desde tu aplicativo lo que resta es leer dicho campo y hacer las debidas transformaciones de BLOB al tipo de imagen. Por ejemplo si en Tipo es BMP entonces creas un TBitmap y cargas en él el stream leído desde BLOB; y si en el campo se lee JPG creas un TJPEGImage (al menos así es en Delphi, no se si es igual en Lázarus) y realizas el adecuado tratamiento de stream.

Es la única forma de poder recuperar una imagen sea cual fuese el tipo/formato. El punto es que BLOB es eso... BLOB, información binaria. Es RESPONSABILIDAD del cliente en tratar adecuadamente lo que se almacene en él. En ningún momento SQLite sabe si lo que le estás pasando al campo es una imagen, un texto, un video o lo que fuese... para él, y cualquier motor de base de datos, es información binaria.

Que el SQLAdministrator pueda interpretar parcialmente algunas imágenes se debe a que está diseñado y programado para reconocer justamente esos tipos de imagen leyendo el campo BLOB y buscando en la información binaria si algo se corresponde a las cabeceras de formato de los tipos que da soporte.
Y lo mismo es lo que sucede con tu aplicativo. El componente que usas (que en ningún momento dices cual es, ni los tipos de imagenes que pasas con cada uno) seguramente sólo puede interpretar algunos formatos.
NO HAY OTRA EXPLICACION LOGICA. Porque si tanto tu aplicativo como el administrador soportaran y estuvieras trabajando con el(los) mismo(s) formato(s) entonces con ambos deberían poder verse.
La otra explicación, que es poco probable, es que tanto el componente que usas como el administrador alteren la información del BLOB con alguna "marca" que ellos mismos sólo pueden reconocer e interpretar.

Lo cierto es que a menos que te expliques en los formatos, y en lo que haces con cada cosa y no te tomes las molestias de explicar en como es que estás desarrollando tu aplicación (y ni que decir sin mostrar al menos una partecita de código) va a ser muy difícil que encuentres una respuesta a tu pregunta.
Lo último que te restaría es ponerte en contacto con el área de soporte de la empresa que hace dicho administrador... después de todo tu sabes lo que hace tu aplicación ¿o no?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita