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

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

есть какие то ситуации, когда использование packed обязательно? [D6, XP]


Mr tray ©   (2006-05-16 18:45:00) 

есть ли какие то ситуации, когда использование packed обязательно?


Германн   (2006-05-17 02:36:00) [1]

Добавлю и я "От железячника".
Моё железо "знать не знает и знать не хочет!" о каком-либо "выравнивании"!


Loginov Dmitry   (2006-05-16 20:57:00) [2]

Mr tray   (16.05.06 18:45)
есть ли какие то ситуации, когда использование packed обязательно?


Есть. Например без packed не прочтешь заголовочную информацию ни у одного графического файла (известного формата).


Ega23   (2006-05-16 19:13:00) [3]


> Move(A:TA,B:TB,SizeOf(A)); - не прокатит.


Вот если бы у меня подчинённый так написал, нем более - с такими типами данных - я бы его сразу нафиг уволил.


Rial   (2006-05-16 19:11:00) [4]

А ты знаешь, что оно вообще меняет (если да, то странный вопрос)?
Как хочешь, так и используй.

Желательно - при копировании записей из одной в другую, если
внутреннее строение разное:

TA=packed record
A:Byte;
I:Integer;
E:Extended;
B:Byte;
R:Real;
C:Char;
end;

TB=packed record
Ar:Array[0..14]of Byte;
E:Extended;
end;

Без "packed" ты получишь различнеые размеры записей и
Move(A:TA,B:TB,SizeOf(A)); - не прокатит.


Наверх

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