СообЧа > База Знаний > Программирование > Delphi

Вопрос

Почему у меня record a : word; b : longint end; имеет размер восемь байт вместо шести?

Ответ

Если не использовать ключевое слово packed, то Дельфи производит выравнивание структуры на определенную границу. В разных версиях Дельфи по разному.
Для того что избежать этого, надо описать структуру следующим образом:

aRec = packed record
   a : Word;
   b : LongInt;
end;

Также не стоит использовать фундаментальные типы, так как их размерность зависит от версии Дельфи.

Из конференции Delphi



Copyright © 2000-2004 Сообщество Чайников
Контактная информация