Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

packed records и Records (advanced)


Германн ©   (2010-08-28 02:10:00) 

Как влияет packed на современные записи? (Д2007).
Не смог в документации найти ответ.


MBo   (2010-08-29 07:47:00) [1]

>Так ведь если в записи еще и методы добавились, то не совсем понятно как на них влияет packed

Экземпляр записи никаких методов не содержит, только поля, так что packed ну никак не влияет.


Германн   (2010-08-29 01:29:00) [2]

Решил что "ну их нафиг эти новомодные Records (advanced)". Старый добрый class [(TObject)]лучше и проще для объяснения потомкам.


Anatoly Podgoretsky   (2010-08-28 23:12:00) [3]

> Германн  (28.08.2010 22:35:04)  [4]

Чего непонятного, запись упаковывается без промежутков, строго сколько
байтов есть. Метод на данный момент занимает 8 байт.


Anatoly Podgoretsky   (2010-08-28 23:12:00) [4]

> Джо  (28.08.2010 22:45:05)  [5]

Два


Германн   (2010-08-28 22:55:00) [5]


> Методы — это просто указатели

Наверно да.


Джо   (2010-08-28 22:45:00) [6]


> Германн ©   (28.08.10 22:35) [4]
> Так ведь если в записи еще и методы добавились,

Методы — это просто указатели.


Германн   (2010-08-28 22:35:00) [7]


> А что должно было измениться?

Так ведь если в записи еще и методы добавились, то не совсем понятно как на них влияет packed.
Раньше я делал так. Объявлял тип TCommandRec = packed record (как правило вариантный) и делал его полем класса. При поступлении запросов на выполнение команд создавал экземпляр данного класса, заполнял запись в соответствии с типом команды и помещал ссылку на этот экземпляр в список. Теперь вот задумался оставить в новой программе этот же механизм или вместо класса использовать новые возможности типа record?


Джо   (2010-08-28 18:11:00) [8]

Вот и я о том же.


Юрий Зотов   (2010-08-28 15:57:00) [9]

А что должно было измениться? С появлением 64-битных платформ могло измениться выравнивание, но ведь packed как раз его-то и отменяет.


Джо   (2010-08-28 04:28:00) [10]

Да вряд ли что-то изменилось. Современная документация гласит: «When you declare a structured type, you can include the reserved word packed to implement compressed data storage».

http://docwiki.embarcadero.com/RADStudio/en/Structured_Types


Наверх

Титульная страница Поиск, карта сайта Написать письмо