CEM>Нашёл очень такой неприятный глюк в сабже.
CEM>Если подсунуть ему Folder1\File1.chm, а потом(закрыть и) подсунуть
CEM>Folder2\File1.chm, то откроется Folder1\File1.chm, на папку вообще никак не реагирует. Кто-нить с таким сталкивался?
CEM>Требуется примерно следующее: пользователь должен мочь менять настройки хелпа (пестоположение файла) во время работы с программой.
CEM>И вот если имена файлов совпадают(а они в 99% у нас совпадают) то облом

SL>Читай KB267962 в MSDN. Если кратко, то там советуют называть файлы по-разному, потому что кругом баги.

SL>Как вариант попробуй явно закрывать все окна перед сменой файла:
SL>
SL>HtmlHelp(hWnd, NULL, HH_CLOSE_ALL, NULL);
SL>


Ясно-понятно, разными... Но каждому юзеру не объяснишь, даже если мануал есть.
CLOSE_ALL пробовал первым делом. Он работает тока при окрытии с топика и только один раз. Это вообще позабавило

Вобщем, решается просто:
После смены файла надо говорить:
HMODULE hModule = GetModuleHandle(_T("HHCtrl.OCX"));
if(hModule)
{
    FreeLibrary(hModule);
    hModule = LoadLibrary(_T("HHCtrl.OCX"));
}

и©точник: хелпваре

ps. ща пойду тестировать все оставшиеся операционки...
Автор: CEMb    Оценить