![]() |
Me hago cruces!!!!!!
1 Archivos Adjunto(s)
¿Delphi 2010 no sabe sumar?
Tengo una estructura 2 single y un smallint (4+4+2 bytes) total de la estructura 12 bytes. Tamos tontos!!!!!!! Que alguien me lo explique. El problema esta en el smallint. Si lo quito de la estructura el total suma 10 |
Se debe a a la alineacion. (Data Alignment)
|
Hola atani123.
Es tál como te indica juanelo, para un acceso mas veloz, Delphi alinea las estructuras a palabra o doble palabra. Podes comprimir el almacenamiento de datos usando la palabra reservada packed sobre el registro o de manera global usando la directiva {$A-}. Pero hace mas lento el acceso y puede traer incompatibilidad en el caso de que los datos sean caracteres. El efecto se puede comprobar facilmente:
Saludos :) |
Cita:
Cuando alguien tenga tu misma duda, podrá hacer una búsqueda, pero con ese título que has puesto, a ver quién lo encuentra (este hilo) :confused: |
Perdona, tienes razon, no lo habia pensado asi. Lo tendre en cuenta para futuras preguntas, gracias.
|
Gracias a los dos por la respuesta, entonces en mi caso no tengo mas remedio que usar packet record ya que trato de leer un fichero (FILE of TRec) que ha sido generado con otro software.
Muchisimas gracias |
Cita:
|
| La franja horaria es GMT +2. Ahora son las 14:06:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi