Я работаю с проектом Visual Studio C ++, который содержит ряд ресурсов HTML. Они загружаются методом, который выглядит следующим образом:
LPCTSTR loadHTML(HMODULE hModule, LPCTSTR sResourceName)
{
HRSRC hResource = FindResource(hModule, sResourceName, RT_HTML);
if(!hResource)
return 0;
HGLOBAL hResourceData = LoadResource(hModule, hResource);
if(!hResourceData)
return 0;
return reinterpret_cast<LPCTSTR>(LockResource(hResourceData));
}
В большинстве случаев это работает нормально. Однако иногда он возвращает ресурс, связанный с другим ресурсом. Когда это происходит, это постоянная проблема в этой сборке. Я могу «исправить» это, добавив несколько пустых строк к рассматриваемому ресурсу и затем перестроив проект. Это происходит периодически, даже когда ресурсы не изменились.
Я очень хочу понять, почему это происходит. Кто-нибудь еще сталкивался с этим? Может ли быть что-то особенное в моих ресурсах, которое вызывает проблему? Мой код неверен?
К сожалению, я не хочу размещать пример ресурса здесь; они довольно длинные, и это проприетарное программное обеспечение.