In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

SaveToStream

Foro de Xailer profesional en español
Responder
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

con este codigo mando un savetostream :
WITH OBJECT MantenArt():New(Self)
:cText := "Alta de Articulo "
::oArtDataSet:AddNew()
:RequestState()
:ShowModal()
IF :nModalResult == mrOK
If !:oFoto:oBkGnd = NIL
::oArtDataSet:Foto := :oFoto:oBkGnd:Savetostream() <---ERROR
End
::oArtDataSet:Update()
oFoto es un TBevel, oBkgnd es la imagen de fondo
lo estoy tratando de pasar a un campo BLOB de MySQL, ya probe tambien
con el tipo de columa TEXT LONGBLOB y LONGTEXT
y me manda el error de la imagen adjunta
ALGUNA ORIENTACION ?
MUCHAS GRACIAS
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

SaveToStream

Mensaje por jfgimenez »

Juan Pablo,
> con este codigo mando un savetostream :
>
> WITH OBJECT MantenArt():New(Self)
> :cText := "Alta de Articulo "
> ::oArtDataSet:AddNew()
> :RequestState()
> :ShowModal()
> IF :nModalResult == mrOK
> If !:oFoto:oBkGnd = NIL
> ::oArtDataSet:Foto := :oFoto:oBkGnd:Savetostream() <---ERROR
> End
> ::oArtDataSet:Update()
>
> oFoto es un TBevel, oBkgnd es la imagen de fondo
> lo estoy tratando de pasar a un campo BLOB de MySQL, ya probe tambien
> con el tipo de columa TEXT LONGBLOB y LONGTEXT
> y me manda el error de la imagen adjunta
>
> ALGUNA ORIENTACION ?
Por favor, pon sólo en una línea:
:oFoto:oBkGnd:Savetostream()
para comprobar si el problema está en SaveToStream() o en el dataset. Si el
problema es de SaveToStream(), por favor, envíanos la imagen que te da el
problema. Y si el fallo es del dataset, envíanos un ejemplo incluida la base
de datos (lo más reducida posible).
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

Jose F. Gimenez escribió:
> Por favor, pon sólo en una lí­nea:
>
> :oFoto:oBkGnd:Savetostream()
>
> para comprobar si el problema está en SaveToStream() o en el dataset. Si el
> problema es de SaveToStream(), por favor, enví­anos la imagen que te da el
> problema. Y si el fallo es del dataset, enví­anos un ejemplo incluida la base
> de datos (lo más reducida posible).
>
puse solo en la linea lo que me indicas y obtengo el mismo error, te
anexo las imagenes con las que probe
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

SaveToStream

Mensaje por jfgimenez »

Juan Pablo,
> puse solo en la linea lo que me indicas y obtengo el mismo error, te
> anexo las imagenes con las que probe
Gracias, voy a probarlo. Por cierto, las imágenes ¿cómo las has cargado,
desde recursos o desde fichero?
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

Jose F. Gimenez escribió:
> Gracias, voy a probarlo. Por cierto, las imágenes ¿cómo las has cargado,
> desde recursos o desde fichero?
>
Desde fichero
Saludos
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

SaveToStream

Mensaje por jfgimenez »

Juan Pablo,
por favor, prueba con este .obj
--
Un saludo,
José F. Giménez
http://www.xailer.com


Attached files ipicture.zip (3.7 KB)Â
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

Jose F. Gimenez escribió:
> Juan Pablo,
>
> por favor, prueba con este .obj
>
Jose
Incluí­ el objeto y sigue el mismo error
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

SaveToStream

Mensaje por jfgimenez »

Juan Pablo,
por favor, prueba este proyecto (incluyendo el .obj que publiqué) y dime si
te funciona. A mí me está funcionando perfectamente.
--
Un saludo,
José F. Giménez
http://www.xailer.com


Attached files Images.zip (1.8 KB)Â
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

Jose F. Gimenez escribió:
> Juan Pablo,
>
> por favor, prueba este proyecto (incluyendo el .obj que publiqué) y dime si
> te funciona. A mí­ me está funcionando perfectamente.
>
Modifique el que me enviaste y te lo regreso, pruebalo por favor
Saludos
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

SaveToStream

Mensaje por jfgimenez »

Juan Pablo,
el problema ahora es que estás llamando a :SaveToStream() después de que el
control (y el formulario) hayan sido destruidos, y por lo tanto, la imagen
ya no existe. Ten en cuenta que la destrucción del formulario ocurre justo
antes de volver de la llamada a :ShowModal().
Para evitar este problema puedes hacer una cosa muy sencilla: pon a .T. la
propiedad lHideOnClose de TForm1 y verás que ya funciona. Lo que hace esto
es que al cerrar el formulario no se destruye, sino que simplemente se
oculta. En este caso es también necesario llamar al método End() del
formulario cuando ya hayas terminado con todo, de lo contrario seguiría
existiendo. Por cierto, en el ejemplo tenías esa llamada a End(), pero sólo
hay que hacerlo cuando lHideOnClose = .T.
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
pablogarciau
Mensajes: 133
Registrado: Lun May 22, 2006 10:26 am

SaveToStream

Mensaje por pablogarciau »

Gracias Jose !!
ahora te molesto con esto, ya recibo el savetostream en una variable
local tipo caracter, incluso la paso al campo donde la quiero grabar
pero al hacer Datset:Update() recibo un error, supongo yo que sera por
el tipo de campo que estoy usando, mi pregunta es precisamente eso, cual
es el tipo de campo adecuado ?, TEXT, LONGTEXT, BLOB ?, es para MySQL
Te agradezco tu ayuda
Responder