Ver Mensaje Individual
  #3  
Antiguo 29-09-2006
Uoha Uoha is offline
Registrado
 
Registrado: sep 2006
Posts: 3
Reputación: 0
Uoha Va por buen camino
Smile Iluminadora respuesta

Muchas gracias jachguate (nunca pensé que iba a tener una respuesta tan buena tan rápido ), entendí mi error... obviamente opté por la opción de heredar de TComponent . Sin embargo esta opción ya la había intentado y tampoco me había sido de utilidad, no la había podido implementar, y ahora volví a intentarlo con pocos resultados. Antes y después de postear vi que había muchos tutoriales sobre distintas maneras de hacer esto, pero me gustaría saber si existe una simple y breve que utilize el writeComponent y el readComponent. Estuve intentando y tampoco entiendo por qué no funciona lo siguiente:

Lector:

Código Delphi [-]
type
{...Declaración de la clase form y los procedimientos...}
var
  F:Finanzas;
  S:TFileStream;
  R:TReader;
  W:TWriter;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  F := finanzas.Create(self);
  s := TFileStream.Create('C:\archivo',fmOpenRead);
  s.Position := 0;
  r := Treader.Create(s,4);
  r.Position := 0;
  r.Root := self;
  r.ReadComponent(F);
  r.free;
end;

Escritor:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);

begin
  F := finanzas.Create(self);
  s := TFileStream.Create('C:\archivo',fmOpenRead);
  s.Position := 0;
  r := Treader.Create(s,4);
  r.Position := 0;
  r.Root := self;
  r.ReadComponent(F);
  r.free;
end;

(Por si es útil saberlo: el error surge en la parte de lectura, donde me dice que hubo un problema al leer el stream)

Otra vez me gustaría saber que estoy haciedno mal... también aceptaría un "no, realmente no hay una forma mucho más simple que la que escribió rounin en http://www.clubdelphi.com/foros/showthread.php?t=25835&highlight=writecomponent" (ya sé que es una forma genérica, pero armar algo más o menos con esa estructura sigue siendo... embrollado). También está la posibilidad de pasar de binnary a texito, de texto a archivo, y viceversa; pero prefería saber que no había otra más simple antes de rendirme por ella.


Gracias de nuevo.

Última edición por Uoha fecha: 29-09-2006 a las 06:46:40.
Responder Con Cita