Вы передаете HInstance
, дескриптор исполняемого модуля, в функцию загрузки ресурсов. Это не удается, потому что ресурс находится в модуле пакета. Поэтому вам нужно передать дескриптор модуля для пакета. Вы можете получить дескриптор модуля пакета следующим образом:
PackageModuleHandle := GetModuleHandle(PChar('MyPackage.bpl'));
Если вы загружаете свой пакет динамически, вызов LoadPackage
возвращает дескриптор модуля.
Обновление: Рекомендация Реми об использовании FindClassHInstance
, безусловно, является лучшим способом получения дескриптора модуля.
AS_IF([test "x$with_docs_only" == xyes],
[AS_IF([DX_TEST_FEATURE(doc) && DX_TEST_FEATURE(html) &&
DX_TEST_FEATURE(man) && DX_TEST_FEATURE(pdf)],
[AS_MESSAGE([=====SUCCESS=====])],
[AC_MSG_ERROR([=====FAILURE=====])])])
Это можно сделать с помощью макроса DX_TEST_FETURE
(см. Пример выше) из ax_prog_doxygen
, который проверяет, доступны ли некоторые инструменты. В этом примере он проверяет инструменты doxygen, html, man и pdf.