Невозможно ответить на этот вопрос без полного понимания того, как каждая из этих упакованных записей используется в вашем коде приложения. Это то же самое, что и запрос «Должен ли я изменить это объявление переменной от Int64 до Byte?»
Не зная, какие значения, которые переменная будет ожидаться и которые необходимы для поддержания ответа, могут быть да. Или это может быть не так.
Аналогично в вашем случае. Если для записи требуется , она должна быть упакована в слева . Если это не нужно упаковывать, тогда нет никакого вреда, чтобы не упаковать его. Если вы не уверены или не можете сказать, тогда самый безопасный курс - оставить их такими, какими они есть.
В качестве руководства для принятия этого решения (если вы решите продолжить), ситуации, когда требуется упаковка документов или рекомендуется:
Это не обязательно исчерпывающий список, и все, что у них общего:
Что Я бы рекомендовал, чтобы (если это было возможно и практично) вы определяли, какая цель упаковки служит в каждом случае, и добавить документацию к этому ef fect к самому объявлению записи, так что кому-либо в будущем с тем же вопросом не нужно проходить этот процесс обнаружения, например ::
type
TSomeRecordType = packed record
// This record must be packed as it is used for persistence
..
end;
TSomeExternType = packed record
// This record must be packed as it is required to be compatible
// in memory with an externally defined struct (ref: extern code docs)
..
end;