Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ObjetoBlob (https://www.clubdelphi.com/foros/showthread.php?t=72904)

bulc 17-03-2011 22:47:23

ObjetoBlob
 
Hola. Soy novato. Intento ver un campo Blob de Access en Delphi. Uso un DBImage pero no admite objetos Blob BMP. ¿Qué hago mal?
¿Debo usar otro componente? Gracias.

Neftali [Germán.Estévez] 18-03-2011 12:56:39

Antes de recomendarte que no repitar hilos y que revises la guía de estilo de los foros; Lo primero porque no está permitido y lo segundo para que no olvides lo primero. ;)

En cuanto a tu problema habría que saber cómo has introducido ese Blob.

bulc 18-03-2011 16:03:17

Tomo nota...
No entiendo tu pregunta. ¿Cómo lo he introducido? ¿Qué cosa he introducido?
Yo lo que hice fue poner un TDBImage en el Form y lo he conectado con la Tabla y campo
gráfico. Pero así como en DBE no da problemas, en Access, ese TDBImage no puede coger
campos BMP. ¿Debería usar otro formato gráfico? ¿O tal vez usar otro componente?
Mi nivel es de absoluto principiante. Sé benévolo conmigo. Gracias.

Neftali [Germán.Estévez] 18-03-2011 16:31:40

Cita:

Empezado por bulc (Mensaje 394025)
No entiendo tu pregunta. ¿Cómo lo he introducido? ¿Qué cosa he introducido?

Pues me refería a que si ya tenías elementos añadidos; Si lo habías hecho desde access directamente o desde otro programa y que por eso te estuviera dando problemas (con los elementos ya introducidos).

Si estás añadiendo elementos nuevos no debe haber priblemas; Funciona perfectamente.
Coloca un ADOTAble/ADOQuery y los campos de edición. El DBImage conectado al campo que en Access tengas definido como "Objeto OLE".

Coloca un control TOpenPictureDialog en el form, y en el OnDblClick (por ejemplo) del TDBImage el siguiente código:

Código Delphi [-]
  if OpenPictureDialog1.Execute then begin
    DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
  end;

Eso carga la imagen en el copntrol sin problemas.

bulc 19-03-2011 10:15:14

Casi,casi
 
Cita:

Empezado por Neftali (Mensaje 394028)
Pues me refería a que si ya tenías elementos añadidos; Si lo habías hecho desde access directamente o desde otro programa y que por eso te estuviera dando problemas (con los elementos ya introducidos).

Si estás añadiendo elementos nuevos no debe haber priblemas; Funciona perfectamente.
Coloca un ADOTAble/ADOQuery y los campos de edición. El DBImage conectado al campo que en Access tengas definido como "Objeto OLE".

Coloca un control TOpenPictureDialog en el form, y en el OnDblClick (por ejemplo) del TDBImage el siguiente código:

Código Delphi [-] if OpenPictureDialog1.Execute then begin DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName); end;


Eso carga la imagen en el copntrol sin problemas.

Te has acercado, pero... verás. Yo abro un Form con un dbGrid y con él no tengo ningún problema en Delphi. Pero no consigo ver gráficos que guardé en Access. Lo que tu propones es cargar la imagen que procede de un fichero. Correcto. Sin embargo, me gustaría abrir un Form con componentes "data-aware" y ahí es dónde DBImage falla. Si puedes ayudarme te lo agradezco. Entre tanto estudiaré las propiedades del DBImage y veré si puedo capturar el gráfico en el componente adecuado y pasar éste al DBImage... Algo es algo.
Pero lo que me choca es que un DBImage muestra gráficos Paradox-DBE, sin problemas y también son bmp. En cambio al bajar un gráfico de Access, el error dice que no es compatible con un gráfico bmp. Gracias.

bulc 19-03-2011 11:44:46

Cita:

Empezado por Neftali (Mensaje 394028)
Pues me refería a que si ya tenías elementos añadidos; Si lo habías hecho desde access directamente o desde otro programa y que por eso te estuviera dando problemas (con los elementos ya introducidos).

Si estás añadiendo elementos nuevos no debe haber priblemas; Funciona perfectamente.
Coloca un ADOTAble/ADOQuery y los campos de edición. El DBImage conectado al campo que en Access tengas definido como "Objeto OLE".

Coloca un control TOpenPictureDialog en el form, y en el OnDblClick (por ejemplo) del TDBImage el siguiente código:

Código Delphi [-] if OpenPictureDialog1.Execute then begin DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName); end;


Eso carga la imagen en el copntrol sin problemas.

Eureka. He trasteado por la red y he encontrado que para ver un Blob de gráficos de una tabla Acces -bien formato bmp o jpg - en Delphi ADO, se debe usar un componente TADOBlobStream y pasarlo a un TImage normal. No se puede usar un Navigator para moverse ya que este automatiza el proceso y genera error. Eso para empezar. Ver foro: delphi.about.com. Lo explican de manera impecable. Eso, sí en inglés. Un abrazo.

bulc 24-03-2011 13:26:29

Cita:

Empezado por bulc (Mensaje 394084)
Eureka. He trasteado por la red y he encontrado que para ver un Blob de gráficos de una tabla Acces -bien formato bmp o jpg - en Delphi ADO, se debe usar un componente TADOBlobStream y pasarlo a un TImage normal. No se puede usar un Navigator para moverse ya que este automatiza el proceso y genera error. Eso para empezar. Ver foro: delphi.about.com. Lo explican de manera impecable. Eso, sí en inglés. Un abrazo.

¿Alguien sabe como pasar un objeto TField de un ADO-Access a un TBlobField?
Estoy atascado.
El TADOBlobStream no acepta:
bStream:=TADOBlobStream.Create(ADOTable1.Fields[7],bmRead);
¿Hay que moldearlo?
Sin embargo:
ADOTable1.Fields[7].IsBlob me dice que sí es un campo Blob.
¿Qué falla aquí?

Neftali [Germán.Estévez] 24-03-2011 13:41:02

La verdad es que estás dejando cosas a medias y es difícil seguir el hilo.

En primer lugar, no se si te estás refiriendo a este código. Si es así, puedes dar el error que te está dando.
¿Es al compilar? ¿Es al ejecutar?
:confused::confused:

bulc 27-03-2011 16:22:08

Blob en TImage
 
Sí, me refería a ese código.
Intento visionar una Tabla *mdb (Access) en un TImage. La aplicación (mini) usa un DBGrid, un DataSource y un ADOTable. Se compila pero al hacer clic en el botón me da error.

bulc 28-03-2011 15:40:14

Cita:

Empezado por bulc (Mensaje 394770)
Sí, me refería a ese código.
Intento visionar una Tabla *mdb (Access) en un TImage. La aplicación (mini) usa un DBGrid, un DataSource y un ADOTable. Se compila pero al hacer clic en el botón me da error.

¿Alguien sabe como sacar de una tabla Access (usando componentes ADO), cómo visionar un campo Blob gráfico?

Casimiro Notevi 28-03-2011 17:12:55

Cita:

Empezado por bulc (Mensaje 394770)
[..] Se compila pero al hacer clic en el botón me da error.

ooohhh, bola, bolita mágica, tú que eres tan lista, dime ¿qué error le sale a bulc?


La franja horaria es GMT +2. Ahora son las 00:16:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi