информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
AfxSetResourceHandle 27.03.03 03:21  Число просмотров: 1362
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
HINSTANCE hRes = LoadLibrary("Resource.dll");
if(hRes)
AfxSetResourceHandle(hRes);
<programming>
[C++] (MFC) Трабл с CDialog и ресурсами :((( 27.03.03 03:16  
Автор: BXS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
ТРАБЛ С РЕСУРСАМИ:

Когда CDialog пытается создать диалог, то идентификатор шаблона диалога (IDD_MYDLG например) он ищет в пусковом EXE модуле, хотя класс диалога и его ресурсы я зашил в DLL. Как заставить его искать в DLL?


/* Подробности

ЗАДАЧА: Создать модальный диалог (класса CMyDialog : CDialog) изнутри DLL, в которую зашиты ресурсы этого диалога.

Мои действия:

1. (из EXE файла) Вызываю CreateMyDialog(), которая экспортирована из DLL
2. (DLL) EXPORT CreateMyDialog(){
пытаюсь создать диалог в стеке:

CMyDialog myDlg;
myDlg.DoModal()
... }

Тут и возникает проблема:

Класс CMyDialog при создании диалога использует идентификатор, который видим в области моей DLL. Но конструктор считает, что ресурсы надо искать не в DLL, а в EXE, где такого ресурса нету. Поэтому myDlg.DoModal() вылетает с ошибкой (GetLastError() говорит "The specified image file DID NOT contain a resource section"). И он прав, в EXE ничего и не должно быть.

Теперь вопрос: как заставить конструктор диалога искать ресурс не в EXE, а в DLL, в которой этот класс находится?

*/


Заранее благодарен за советы и разъяснения
AfxSetResourceHandle 27.03.03 03:21  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
HINSTANCE hRes = LoadLibrary("Resource.dll");
if(hRes)
AfxSetResourceHandle(hRes);
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach