Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read


Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 27/06/2017
oscjae oscjae is offline
Miembro
 
Join Date: May 2005
Posts: 77
Poder: 22
oscjae Va por buen camino
Lectura de TMemoryStream en componente FireMonkey

Buenas, no se si es el sitio correcto para exponer este problema, tengo una aplicación servidor conectada con una base de datos firebird, y luego tengo otra aplicación Android que muestra los datos de esa base de datos, hasta ahí todo bien, y cuando hago peticiones no hay problema, muestra listados con datos, combos, etc...

El problema esta cuando voy a mostrar una imagen, este es el sistema que sigo, la imagen la tengo en un campo BLOB, cuando la App pide esa imagen al servidor, el servidor la convierte en TMemoryStream, y la app lee ese TMemoryStream e intenta mostrarlo en un TImage de FireMonkey, con un LoadFromStream, y da error.

He supuesto que puede haber incompatibilidades, pero quería pasar por aquí por si hay alguna forma mejor de hacerlo, o si estoy cometiendo algún error.

Gracias, un saludo.
Reply With Quote
  #2  
Old 27/06/2017
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by oscjae View Post
... y da error.
¿Qué error?
¿Y qué código usas?
Reply With Quote
  #3  
Old 27/06/2017
jhonalone jhonalone is offline
Miembro
 
Join Date: Sep 2007
Location: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola, oscjae.

¿Te acordaste de colocar el puntero al inicio del TMemoryStream?
Código Delphi [-]
MemoryStream.Position := 0;

Es muy fácil olvidarse.
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Reply With Quote
  #4  
Old 27/06/2017
oscjae oscjae is offline
Miembro
 
Join Date: May 2005
Posts: 77
Poder: 22
oscjae Va por buen camino
Hola JhonAlone, si lo pongo.

Desde el servidor (VCL) estamos utilizando la tecnologia de las TMS XDATA, se hace una peticion a traves de un Thread desde el movil (FireMonkey), de un registro de una tabla donde uno de los campos es un BLOB con la imagen.
Una vez recibido el registro creo un MemoryStream con la imagen

Código Delphi [-]
fimg:=TMemoryStream.Create;
XData.TDCI_FICHERO.SaveToStream(fImg);
fimg.Position:=0;
ImgIni.Bitmap.LoadFromStream(fimg);

en la linea en la que cargo la imagen en el bitmap da error de memoria, que no podia acceder a la direccion de memoria.
Reply With Quote
  #5  
Old 27/06/2017
jhonalone jhonalone is offline
Miembro
 
Join Date: Sep 2007
Location: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola oscjae.
Has probado así:
Código Delphi [-]
fimg:=TMemoryStream.Create;
XData.TDCI_FICHERO.SaveToStream(fImg);
fimg.Position:=0;
ImgIni.MultiResBitmap[0].Bitmap.LoadFromStream(fimg);

Y también ¿estás seguro que fimg no es nil?
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Reply With Quote
  #6  
Old 28/06/2017
oscjae oscjae is offline
Miembro
 
Join Date: May 2005
Posts: 77
Poder: 22
oscjae Va por buen camino
He probado lo que has dicho jhonalone, y me sigue dando error "Falla la lectura del Bitmap"

Veo que el error está al intentar cargar la imagen con la clase TBitmap de firemonkey, porque el Stream llega bien.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
¿Dónde conseguir componentes para Firemonkey? ¿Cómo véis a Firemonkey? dec FireMonkey 27 08/10/2016 17:49
String To TMemoryStream Gimli OOP 8 03/03/2010 11:23
Pasar TMemorystream a string modulay OOP 4 29/09/2007 22:23
Tmemorystream y sockets LILYBEL Varios 3 01/07/2004 15:43
Problema con TMemoryStream Baixa Varios 6 20/01/2004 19:36


All times are GMT +2. The time now is 06:38.


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