![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Imagen JPG en una base de datos Access
Hola a todos, esta es la primera vez que entro al foro. Quería preguntar si alguien me puede ayudar con esto:
Estoy tratando de mostrar una imagen jpg almacenada como objeto OLE en una bd Access, y me da este número de error: JPEG error #68. Lo que hago para mostrar la imagen es utilizar un objeto TImage, asignándole un objeto TJpegImage, a partir de un flujo de un campo de una tabla (que contiene la imagen). Todo esto se hace cuando se presiona un boton. Les paso el código del botón: Código:
procedure TForm1.botonClick(Sender: TObject);
var
flu : TADOBlobStream;
Pic : TJpegImage;
begin
flu := TADOBlobStream.Create
(AdoTable1Foto, bmRead);
try
flu.Seek(JpegStartsInBlob(AdoTable1Foto),
soFromBeginning); //Esta función busca el inicio de la imagen
Pic:=TJpegImage.Create;
try
Pic.LoadFromStream(flu); //Es aquí donde da el error
ADOImage.Picture.Graphic:=Pic;
finally
Pic.Free;
end;
finally
flu.Free
end;
end;
Código:
function JpegStartsInBlob
(PicField:TBlobField):integer;
var
flu : TADOBlobStream;
buffer : Word;
hx : string;
begin
Result := -1;
flu := TADOBlobStream.Create(PicField, bmRead);
try
while (Result = -1) and
(flu.Position + 1 < flu.Size) do
begin
flu.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'FF' then begin
flu.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'D8' then Result := flu.Position - 2
else if hx = 'FF' then
flu.Position := flu.Position-1;
end; //if
end; //while
finally
flu.Free
end; //try
end;
|
|
#2
|
||||
|
||||
|
Hola
Uso access e incluyo jpg sin problemas en un campo memo, sin tanta complicacion, ni funciones, ni campos raros, ni nada. Para traer un jpg creado desde un archivo independiente a access tambien se puede con un memo. Saludos |
|
#3
|
|||
|
|||
|
Cita:
|
|
#4
|
|||
|
|||
|
He buscado en los foros, pero no doy con ningun tema donde se mencione el error #68 de la unidad Jpeg. No quiero ser molesto pero.. ¿alguien sabe de que se trata este error? o ¿donde puedo encontrar una referencia de estos errores para saber que hago mal en el código? El problema sale cuando se ejecuta la instrucción Pic.LoadFromStream(flu), y no entiendo por que, si el flujo tendría que ser correcto
. Seguramente hay algo que no estoy observando, pero no se que es. Por favor ayudenme Muchas gracias por su tiempo nuevamente, y me parece bárbaro este sitio, ya que enseguida tuve una respuesta. Saludos.. |
|
#5
|
||||
|
||||
|
Hola querido
Mira, lo mas probable es que no hayas buscado, porque no hace mas de cuatro semanas volvimos a solucionar el problema una vez mas. Aqui abajo te tiro el link del hilo donde esta la respuesta a tus problemas. Basicamente tenes que leer el Boletin Pascal N° 11. No se que es lo que quieres intentar con ese codigo y complicarte la existencia de esa forma. Haceme caso y lee el hilo que te indico aqui y despues buscas el boletin pascal n°11 cuyo link esta en ese hilo. Contanos como te fue y si sos nuevo lee bien la guia de estilo. http://www.clubdelphi.com/foros/showthread.php?t=41768 Adios |
|
#6
|
|||
|
|||
|
Gracias por la ayuda. Espero poder ayudarles en algo alguna vez.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Imprimer Con QuickReport Imagen JPG en Base de Datos | nachoalbano | Impresión | 3 | 18-09-2006 01:05:42 |
| base de datos access en Red | Nbull | Conexión con bases de datos | 5 | 13-01-2006 12:31:49 |
| Base de datos con campo imagen | raffagia | MS SQL Server | 1 | 03-03-2005 09:32:32 |
| Guardar una archivo de imagen (bmp,jpg..etc), en la base de datos | cahosoft | Firebird e Interbase | 4 | 31-07-2004 16:53:56 |
| Imagen en base de datos. | kwan | Conexión con bases de datos | 20 | 29-07-2003 22:48:21 |
|