Ver Mensaje Individual
  #2  
Antiguo 02-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.934
Reputación: 27
delphi.com.ar Va por buen camino
Una solución fácil, aunque no muy óptima, es que tus objetos hereden de TComponent. Los streams tienen la facilidad de poder guardar los datos de un TComponent, esto esta hecho para poder leer y guardar los datos del DFM utilizando las clases TWriter y TReader:
Código:
var
  MiObjeto: TComponent;
begin
  FStream.WriteComponent(MiObjeto);
end;
El tema de guardar un objeto de cualquier clase, es que no todas las clases están compiladas para usar con RTTI, entonces lo único que nos queda es guardar el bloque de memoria que ocupa la clase, lo que no creo que sea muy viable, pues en la información del objeto en memoria, se apuntan muchas cosas por ejemplo direcciones a eventos, métodos... Lo mas normal cuando se quiere hacer algo así, es trabajar con registros planos, obviamente estos carecen de toda la funcionalidad de un objeto. Una solución viable, puede ser tener todos los datos que qiueras guardar de este objeto en un Record, y poder acceder a la dirección y tamaño de este, los que nos permitiría guardarlo sin ploblemas, sin necesitar de información que se volverá inmediatamente obsoleta (punteros a otras clases, eventos, métodos....)

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita