![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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