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 |
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:
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 17:34:52. |
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