информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
AfxSetResourceHandle 27.03.03 03:21  Число просмотров: 1314
Автор: 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