Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Записи


Автор: mr.Anderson 22.1.2008, 16:22
Объясните, пожалуйста, разницу между record и packed record. Не отсылайте в MSDN, плиз понятным русским языком. smile

Автор: THandle 22.1.2008, 16:33
http://www.delphisources.ru/pages/faq/faq_delphi_basics/Packed.php.html

Автор: mr.Anderson 22.1.2008, 16:44
THandle, у меня этот сайт не открывается. Я бы нашел сам, но не открываются нужные сайты. Почему я и попросил объяснить в этой теме. Процитируйте, пожалуйста.

Автор: THandle 22.1.2008, 16:45
mr.Anderson, я думаю копирование информации с другого сайта и выкладывание ее тут не есть хорошо. Ничо если я в PM кину?

Автор: Snowy 22.1.2008, 16:55
Обычный record имеет выравнивание в памяти для оптимизации скорости доступа к полям.
packed record имеет строгую структуру. Используется, когда нужно чётко сохранить заданный формат, а не оптимизировать для скорости.
Собственно, если в настройках проекта отключить выравнивание полей, то ничем не отличаются.
Но packed - всегда сохраняет структуру и не выравнивается в памяти, независимо от настроек.

Автор: mr.Anderson 22.1.2008, 17:00
Snowy, благодарю. Можете привести пример, когда требуется использовать строгую структуру?

THandle, уже не надо. smile

Автор: Alexeis 22.1.2008, 21:20
Цитата(mr.Anderson @  22.1.2008,  16:00 Найти цитируемый пост)
Snowy, благодарю. Можете привести пример, когда требуется использовать строгую структуру?

  Запись из файла, или чтение. Ведь не факт что поля в файле выравнены также как и в структуре. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)