Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   WideString vs String (https://www.clubdelphi.com/foros/showthread.php?t=54600)

Panasys 25-03-2008 02:28:40

WideString vs String
 
Hola, tengo un problema que con la Ayuda de Delphi y buscando en los foros no he podido resolver y es que estoy introduciendo cadena de caracteres en una variable y la grabo en un archivo .dat, en TYPES la declaro como cadena : string[255], pero claro cuando esa variable supera los 255 ya no introduce mas datos. Luego en la ayuda lei sobre WideString y AnsiString, estoy intentando utilizar WideString, la declaro en Types como cadena : WideString pero al compilar me da error en la variable declarada en el procedimiento.

Ej.
...
type
TLog = record
addLog: widestring;
end;

implementation

uses exe_monitor;

procedure Tfmenu.timerGuardarTimer(Sender: TObject);
var
Log: TLog;
MiLog: file of TLog; // ACA ME DICE QUE "Type 'TLOG' need finalization - not allowed in file type
LogHistory : widestring;
begin
...

Si alguien puede tirarme un hilo o por donde buscar entonces mil gracias !

Un abrazo.

Javier

keyboy 25-03-2008 02:41:54

El problema es que el tipo base de un tipo file debe tener una longitud fija. De lo contrario los procedimientos Read y Write no sabrían qué tanto deben leer o escribir. Por tanto, el tipo base no puede tener ni cadenas (string, widestring), ni apuntadores, ni arreglos dinámicos, etc.

En su lugar, deberías usar archivos sin tipo:

Código Delphi [-]
var
  MiLog: file;

y usar los procedimientos BlockRead y BlockWrite. O bien, usar estructuras más modernas como la clase TFileStream.

Bye


La franja horaria es GMT +2. Ahora son las 09:47:24.

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