Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];

Вниз

Обяъсните неграмотному 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.058 c
2-1179748959
_vl_
2007-05-21 16:02
2007.06.10
Разделение строки


1-1176385878
random(255)
2007-04-12 17:51
2007.06.10
Mathlab и Delphi


15-1179145766
mmms
2007-05-14 16:29
2007.06.10
Какое давление на глубине 11км?


2-1179752865
Loonar
2007-05-21 17:07
2007.06.10
Вопрос


3-1174363086
Lex_!
2007-03-20 06:58
2007.06.10
Заголовки в гриде





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский