Campos BLOB
Publicado: Jue Ago 09, 2007 7:54 pm
Hola a Todos !
Tengo una Imagen (Archivo en Formato BMP), que se crea con este codigo
Preguntas :
1. Deseo convertir el archivo con la Imagen y grabarlo en un campo BLOB
(Image) de Advantage , estoy usando ADT y tengo definido un campo IMAGE que
se llama FOTO, en el cual deseo grabar la Imagen., cual es la manera
correcta de hacerlo, estoy haciendo esto, pero no me graba nada en el campo
IMAGE
METHOD TomarFoto( oSender ) CLASS TCamaraWeb
Local hBitmap,oClip,cImagen
If ::startcap
SendMessage(::hwdc, WM_CAP_GET_FRAME,0,0)
SendMessage(::hwdc, WM_CAP_COPY, 0, 0); // La copio al portapeles
WITH OBJECT oClip:=TClipboard():New(::oForm)
hBitmap := :GetData(CF_BITMAP )
END
IF ! Empty( hBitmap )
::oImage1:oPicture := TPicture():CreateIndirect( 1, hBitmap )
IF ::oImage1:oPicture:Ispicture()
* ::oImage1:oPicture:Save('.IMAGEN.BMP' )
::oImage1:oPicture:SaveToStream(cImagen ) <== USO ESTE METODO PARA
GRABAR LA IMAGEN A UN BUFFER (VARIABLE )
AppData:DSClientes:Foto:=cImagen <====== LA ASIGNO AL CAMPO DEL
DATASET ANTES DE HACER UPDATE()
ENDIF
oClip:Empty()
ENDIF
ENDIF
IF ::startcap
SendMessage(::hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
::startcap =.f.
End If
::Close()
RETURN Nil
Cuando abro la Tabla de Clientes y veo el campo Foto ques de tipo Image y no
hay nada grabado. (Claro previamente hize Update())
Que estoy haciendo mal ?
Tengo una Imagen (Archivo en Formato BMP), que se crea con este codigo
Preguntas :
1. Deseo convertir el archivo con la Imagen y grabarlo en un campo BLOB
(Image) de Advantage , estoy usando ADT y tengo definido un campo IMAGE que
se llama FOTO, en el cual deseo grabar la Imagen., cual es la manera
correcta de hacerlo, estoy haciendo esto, pero no me graba nada en el campo
IMAGE
METHOD TomarFoto( oSender ) CLASS TCamaraWeb
Local hBitmap,oClip,cImagen
If ::startcap
SendMessage(::hwdc, WM_CAP_GET_FRAME,0,0)
SendMessage(::hwdc, WM_CAP_COPY, 0, 0); // La copio al portapeles
WITH OBJECT oClip:=TClipboard():New(::oForm)
hBitmap := :GetData(CF_BITMAP )
END
IF ! Empty( hBitmap )
::oImage1:oPicture := TPicture():CreateIndirect( 1, hBitmap )
IF ::oImage1:oPicture:Ispicture()
* ::oImage1:oPicture:Save('.IMAGEN.BMP' )
::oImage1:oPicture:SaveToStream(cImagen ) <== USO ESTE METODO PARA
GRABAR LA IMAGEN A UN BUFFER (VARIABLE )
AppData:DSClientes:Foto:=cImagen <====== LA ASIGNO AL CAMPO DEL
DATASET ANTES DE HACER UPDATE()
ENDIF
oClip:Empty()
ENDIF
ENDIF
IF ::startcap
SendMessage(::hwdc, WM_CAP_DRIVER_DISCONNECT, 0&, 0&)
::startcap =.f.
End If
::Close()
RETURN Nil
Cuando abro la Tabla de Clientes y veo el campo Foto ques de tipo Image y no
hay nada grabado. (Claro previamente hize Update())
Que estoy haciendo mal ?