Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DLL и ресурсы в DLL

14K
27 декабря 2006 года
viva
27 / / 07.04.2006
С наступающим Новым Годом 2007, уважаемые знатоки!
Есть прекрасно работающее многофункциональное приложение. Ряд функций потребовалось использовать в других приложениях, поэтому некоторый набор был выделен в DLL, в том числе одна форма с DBGrid, DataSource и tbTable (Titan). Для таблицы требуется иметь ресурс (у меня это Account.Res).
Вот в нём вся и проблема. Если я этот ресурс включаю в DLL, то таблица его не видит и не находит, хотя судя по исходникам должна находить. Если же я его включаю в приложение, то вновь всё O'k.
Однако мне нужно ресурс иметь в DLL, поскольку приложения пишутся на разных языках, не только на BCB и не во всех языках имеется такая возможность, как подключение ресурсов.
Знаком ли кто с такими проблемами? Может подскажете как только внутри DLL можно решить данную проблему?
246
27 декабря 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата: viva
С наступающим Новым Годом 2007, уважаемые знатоки!
Есть прекрасно работающее многофункциональное приложение. Ряд функций потребовалось использовать в других приложениях, поэтому некоторый набор был выделен в DLL, в том числе одна форма с DBGrid, DataSource и tbTable (Titan). Для таблицы требуется иметь ресурс (у меня это Account.Res).
Вот в нём вся и проблема. Если я этот ресурс включаю в DLL, то таблица его не видит и не находит, хотя судя по исходникам должна находить. Если же я его включаю в приложение, то вновь всё O'k.
Однако мне нужно ресурс иметь в DLL, поскольку приложения пишутся на разных языках, не только на BCB и не во всех языках имеется такая возможность, как подключение ресурсов.
Знаком ли кто с такими проблемами? Может подскажете как только внутри DLL можно решить данную проблему?


Значит где-то внутри компонента используется загрузка ресурса типа:
HBITMAP hbmImage = (HBITMAP)LoadImage(NULL, MAKEINTRESOURCE(IDB_SEARCH), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
пареметр NULL говорит, что нужно искать ресурс в ехе. Чтобы грузилось из dll надо указывать ее инстанс.
HBITMAP hbmImage = (HBITMAP)LoadImage(HInstance/*dll*/, MAKEINTRESOURCE(IDB_SEARCH), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
Это вопрос к Титан-у.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог