Ver Mensaje Individual
  #23  
Antiguo 15-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Reputación: 21
jmariano Va por buen camino
Gracias por la info roman! (y sobretodo por la dirección con los artículos, se ven muy interesantes!)

Ya conocía las funciones para trabajar con el Stream porque una vez me surgió la necesidad, y hay un problema que nunca conseguí solucionar y que os comento a continuación (a ver si hay suerte!):

Comprobareis que el objeto para leer o guardar datos en el Stream (TReader y TWriter) permiten trabajar con muchos tipos de datos: Booleanos, Colecciones, Enteros, Reales, Componentes, etc., y precisamente con el método para almacenar un componente es con quien siempre tuve problemas.

Si intentais almacenar un componente (como, por ejemplo, uno de los panels del que hablábamos) vereis que al ir a la vista del formulario en modo texto (para ver el .dfm) el IDE mostrará el mensaje de error "Stream error".

La única forma que conseguí solucionarlo es definiendo la propiedad como binaria (DefineBinaryProperty), y eso que el ejemplo de la ayuda de Delphi, sobre el almacenamiento de un componente creado en tiempo de ejecución, utiliza una propiedad normal, pero a mi me falla. (Por cierto, al definir una propiedad como binaria, ésta, se almacena como una secuencia de números hexadecimales que contendrían la información sobre las propiedades del componente que se quiere almacenar).

En fins, a ver si alguien descubre porqué falla...

Saludos!

Última edición por jmariano fecha: 15-09-2005 a las 19:31:01.
Responder Con Cita