Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
Путаница с WPARAM и UINT, а также...

Путаница с WPARAM и UINT, а также LPARAM с LONG

23 Янв 2012

При попытке перекомпиляции 32-битного Windows приложения для 64-битной системы, большое количество ошибок компиляции связано с некорректными аргументами функций. Часто можно встретить ситуацию, когда в качестве аргументов функции в пользовательском коде используются типы UINT и LONG вместо WPARAM и LPARAM.

Пример:

//Объявление функции в классе
virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
//Реализация функции
LRESULT CSystemTray::OnTrayNotification(UINT wParam, LONG lParam)

В Win32 тип WPARAM совпадает с UINT, а LPARAM с LONG. В Win64 это разные типы и код необходимо скорректировать. Смотрите по этой теме также запись "Распространенная ошибка при компиляции 64-битного приложения: error C2440, OnTimer".

Популярные статьи по теме


Комментарии (0)

Следующие комментарии next comments
close comment form