Страница 1 из 1

Не могу указать ресурс для диалога, В DLL; Visual C++

Добавлено: 15 дек 2004, 18:15
char_ser
У меня есть dll и есть exe

// Вот участок из dll
CDialogEnterPassword2::CDialogEnterPassword2()
: CDialog(IDD_ENTERPASSWORD2, pParent)
{
// Какое-то наполнение
...
}


Какого CDialog ищет IDD_ENTERPASSWORD2 в ресурсах экзешника, а не в в своей dll? Как с этим бороться?
Это порождает ошибку:
Error 1812: Указанный файл образа не содержит секции ресурсов

Добавлено: 15 дек 2004, 18:45
Romeo
При загрузке любого ресурса указывается инстанс (instance) модуля, из которого должна происходить загрузка. По ошибке использован инстанс exe-модуля, вместо инстанса dll-модуля, вот и вся ошибка. Причины ищи сам, либо предоставляй больше исходной информации.

Добавлено: 15 дек 2004, 18:56
Kolinus
а МСДН зачем???
AfxManageModuleState()
или нечто подобное

Добавлено: 15 дек 2004, 19:00
Romeo
Верно, такая функция переписывает данные, который впоследствии использует AfxGetApp(). Возможно дело и в этом.

Добавлено: 16 дек 2004, 14:16
Eugie
char_ser, AfxSetResourceHandle() позволяет явно указать, в каком модуле MFC ищет ресурсы по умолчанию