Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

Обяъсните неграмотному Packed Record   Найти похожие ветки 

 
allucard   (2007-05-23 08:28) [0]

Доброго дня.

_IMAGE_IMPORT_DESCRIPTOR = packed record
case Integer of
 0:(
  Characteristics: DWORD);
 1:(
  OriginalFirstThunk:DWORD;
  TimeDateStamp:DWORD;
  ForwarderChain: DWORD;
  Name: DWORD;
  FirstThunk: DWORD);
 end;


Обьясните пожалуйста что даёт case в этой конструкции?


 
Однокамушкин   (2007-05-23 08:35) [1]

Поля, перечисленные под метками 0 и метками 1, занимают одну и ту же область памяти, т.е. к этой области памяти можно в зависимости от потребностей обращаться то как будто там лежит структура (Characteristics: DWORD), то как будто там лежит структура (OriginalFirstThunk:DWORD; TimeDateStamp:DWORD; ForwarderChain: DWORD; Name: DWORD; FirstThunk: DWORD).

В данном случае особой выгоды не просматривается... По набору полей нулевой вариант является подмножеством первого, разве что имена различаются...


 
allucard   (2007-05-23 08:49) [2]

в принципе идея ясна.

но как указать, какая структура мне нужна(0-я или 1-я)?


 
Однокамушкин   (2007-05-23 08:54) [3]


> но как указать, какая структура мне нужна(0-я или 1-я)?


А никак не надо указывать... Просто обращайтесь к полям той или иной структуры, а компилятор, он умный, разберётся... :)


 
allucard   (2007-05-23 08:58) [4]


> Однокамушкин   (23.05.07 08:54) [3]

спасиб.



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
4-1160821750
rll-progr
2006-10-14 14:29
2007.06.10
Управление окном другого приложения


2-1179850602
Kolan
2007-05-22 20:16
2007.06.10
Что возвращает ClientHeight?


15-1178977274
parus
2007-05-12 17:41
2007.06.10
TV Tuner


15-1179385137
Kerk
2007-05-17 10:58
2007.06.10
Oracle External Procedure на Delphi


15-1179253032
N3xt_
2007-05-15 22:17
2007.06.10
Программа