Четвертый Borland C++ и его окружение




Написание переносимого кода Windows - часть 2


/p>

Макрокоманда Описание

RELDOFFSET(тип, поле) Вычисляет смещение поля в структуре. "Тип" - это тип структуры, а "поле" - это имя поля.
WAKELP(селект,смещ) Воспринимая селектор и смещение, создает FAR VOID*.
WAKELPARAM(мин,макс) Из двух 16-битовых значений создает LPARAM.
WAKELRESULT(мин,макс) Из двух 16-битовых значений создает LRESULT.
OFFSETOF(указ) Выделяет из дальнего указателя смещение и возвращает UINT.
SELECTOROF(указ) Выделяет из дальнего указателя селектор и возвращает UINT.

Описатели Значение

HACCEL Описатель таблицы акселератора.
HDRVR Описатель драйвера (Windows 3.1).
HDWP Описатель DeferWindowPost().
HFILE Описатель файла.
HGDIOBJ Общий описатель объекта GDI.
HGLOBAL Глобальный описатель.
HINSTANCE Описатель экземпляра.
HLOCAL Локальный описатель.
HMETAFILE Описатель метафайла.
HMODULE Описатель модуля.
HPSRC Описатель ресурса.
HTASK Описатель задачи.

Чтобы сделать ваше приложение согласованным со STRICT, нужно:

  • Определить, какой программный код вы хотите согласовать

    со STRICT.

  • Включить наивысший уровень вывода ошибок/предупреждений.

    В IDE используйте команду

    Options Compiler Messages Display All. В BCC32 укажите

    параметр -w.

  • Перед включением windows.h и компиляцией определить

    STRICT с помощью #define или использовать в командной

    строке параметр -DSTRICT.

  • Перечислим некоторые рекомендации, которые могут оказаться

    полезными при преобразовании вашего программного кода в соответствии со STRICT:

  • Измените HANDLE на соответствующий тип описателя, например, HMODULE, HINSTANCE и др.
  • Измените WORD на UINT (за исключением тех мест, где вы

    хотите получить 16-битовое значение на 32-разрядной платформе).

  • Измените WORD на WPARAM.
  • Измените LONG на LPARAM или LRESULT.
  • Измените FARPROC на WNDPROC, DLGPROC или HOOKPROC.
  • В 16-разрядной Windows всегда описывайте указатели функций

    с помощью подходящего типа функции, а не с помощью

    FARPROC. При использовании MakeProcInstance,

    FreeProcInstance и других функций, воспринимающих или




    Содержание  Назад  Вперед