Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11678
Последний выпуск: 19.06.2015

FindResource не находит ресурс в приложении

6
07 апреля 2015 года
@pixo $oft
3.4K / / 20.09.2006
Что имеется:
 
Код:
<Resource.h>
#define ReviewHTML 107


<Resource.rc>
ReviewHTML RT_HTML "Index.htm"


<xxx.cpp>
HRSRC hRes=FindResource(0,MAKEINTRESOURCE(ReviewHTML),RT_HTML);
В результате в hRes находится 0, ошибка — «Указанный тип ресурса в файле образа отсутствует». В то время как Resource Hacker и браузер ресурсов студии показывает, что всё отлично!Причём некоторое время назад всё отлично работало, и критических изменений я не вносил. А тут даже после удаления всяких Resource.aps и повторной сборки вылезает ошибка. ЧЯДНТ?
6
08 апреля 2015 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: Kuzya
в дебаге проверить значения переменных в вызываемой функции, может они где-нибудь переопределяются.

Дефайны переопределяются? Ну ты загнул! :D
Нет, конечно, я всё это перепроверял. А дело оказалось в том, что тип в .rc надо указывать не RT_HTML, а просто 23 (т.е. без MAKEINTRESOURCE). Тогда всё работает ☺

1.9K
08 апреля 2015 года
Kuzya
183 / / 19.03.2008
hRes=FindResource(0,MAKEINTRESOURCE(ReviewHTML),RT_HTML); -попробуй вместо "0", использовать "NULL", а вообще кошернее сохранить hInstance и подставить в функцию его вместо "0".
6
08 апреля 2015 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: Kuzya
попробуй вместо "0", использовать "NULL", а вообще кошернее сохранить hInstance и подставить в функцию его вместо "0".

Во-первых, "If this parameter is NULL, the function searches the module used to create the current process". Во-вторых, до этого же всё работало и так!
А с тем учётом, что

 
Код:
#define NULL 0
, необходимость переписывать через NULL отпадает автоматически.

Но специально ради эксперимента, чтобы убедиться, я провёл всякие испытания — и NULL писал, и GetModuleHandle(0), и сохранял hInstance. Даже FindResourceEx(…,MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT) попробовал — всё безрезультатно!
1.9K
08 апреля 2015 года
Kuzya
183 / / 19.03.2008
ну тогда это карма :)

ну еще, что могу предложить, в дебаге проверить значения переменных в вызываемой функции, может они где-нибудь переопределяются.
1.9K
08 апреля 2015 года
Kuzya
183 / / 19.03.2008
[quote=@pixo $oft;20318]Дефайны переопределяются? Ну ты загнул! :D

#undef AAA
#define AAA 2
6
08 апреля 2015 года
@pixo $oft
3.4K / / 20.09.2006
Не, такого точно нет, ибо незачем ☺

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог