Баг в MASM или призрак HtmlHelp

Тема в разделе "WASM.WIN32", создана пользователем _Sysman_, 11 авг 2004.

  1. _Sysman_

    _Sysman_ Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    50
    Адрес:
    Ukraine
    В стандартной поставке MASM32 (версии 8.2) есть файлы HtmlHelp.inc и HtmlHelp.lib

    Предназначены они для вызова (догадаться легко) справки Compiled HtMl.



    Прототип выглядит так: HtmlHelpA PROTO :lol: WORD,:lol: WORD,:lol: WORD,:lol: WORD



    Вот и я написал в своей программе:



    path db "sample.chm",0

    ...



    invoke HtmlHelpA, hWnd, offset path, 1, NULL

    ...



    Компиляция программы нормальная, но при попытке запуска выводит сообщение,

    что для запуска нужен файл HtmlHelp.dll посмотрел отладчиком - да, точно, есть

    ссылка на эту Dll'ку.

    Но чего-то не слышал я ничего о такой DLL. :)

    Насколько я знаю, эта функция реализуется в HHCTRL.OCX

    (и в последней версии HtmlHelp-4.01).

    Нашёл я этот OCX, просто переименовал его в DLL и всё - программа заработала !



    Дальше - просмотрел HtmlHelp.lib - все ссылки на HtmlHelp.dll, а HHCTRL.OCX даже

    и не упоминается! Пришлось подправить всё "ручками".



    Так что, посылайте Report Bag Хатчу !?



    Один мой знакомый на вопрос, не пользовался ли он этой функцией, ответил

    - А зачем она нужна?. Я всегда пользуюсь ShellExecute, так проще.



    Ну, может, для кого-то и воду решетом носить проще :)



    P.S. Пропатченный htmlhelp.lib брать здесь:

    [​IMG] 1183622201__htmlhelp.zip
     
  2. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    Я так делаю:
    Код (Text):
    1.     invoke LoadLibrary, addr szHtmlHelp_dll
    2.     test eax, eax
    3.     jz @@end
    4.     invoke GetProcAddress, eax, addr szHtmlHelpA
    5.     test eax, eax
    6.     jz @@end
    7.     ...
    8. @@end: