Есть либа, к приложению линкуется через #pragma comment(lib, .....)
В ней экстерновый класс диалога, который создается на основе ресурса, ресурс описан в самой либе в *.rc.
При создании окна (функция Create вызывается внутри либы)Вылитаю по ASSERT — не находится нужный ресурс ????
Как сделать так, что бы ресурсы моей либы загружались?
Просьба, не посылать в поиск.
Я там уже порылась. и не нашла ничего интеерсного.
Если верить MSDN, то есть какие-то настройки проекта, где можно задать список экспортируемых/импортируемых ресурсов.
Но я эти настройки найти не смогла
Здравствуйте, A.A.L., Вы писали:
AAL>Есть либа, к приложению линкуется через #pragma comment(lib, .....) AAL>В ней экстерновый класс диалога, который создается на основе ресурса, ресурс описан в самой либе в *.rc.
Нужно указывать instance модуля из которого загружаем разные ресурсы, в т.ч. диалога.
Здравствуйте, Ulfur, Вы писали:
U>Здравствуйте, A.A.L., Вы писали:
AAL>>Есть либа, к приложению линкуется через #pragma comment(lib, .....) AAL>>В ней экстерновый класс диалога, который создается на основе ресурса, ресурс описан в самой либе в *.rc. U>Нужно указывать instance модуля из которого загружаем разные ресурсы, в т.ч. диалога.
Это либа, у нее инстанса не бывает
Варианты решения проблемы:
1. Сделать из либы полноценную dll
2. Вместе с либой делать ресупсную dll
3. Вкомпилить ресурсы dll в "родительский" exe\dll(такое вообще возможно?! )
Здравствуйте, A.A.L., Вы писали:
AAL>Есть либа, к приложению линкуется через #pragma comment(lib, .....) AAL>В ней экстерновый класс диалога, который создается на основе ресурса, ресурс описан в самой либе в *.rc. AAL>При создании окна (функция Create вызывается внутри либы)Вылитаю по ASSERT — не находится нужный ресурс ???? AAL>Как сделать так, что бы ресурсы моей либы загружались?
Боюсь, что никак. Ресурсы в статическую библиотеку поместить можно, а вот использоваться они, похоже, не могут. Я недавно участвовал в обсуждении этого, но ни до чего не добрались
AAL>Просьба, не посылать в поиск. AAL>Я там уже порылась. и не нашла ничего интеерсного. AAL>Если верить MSDN, то есть какие-то настройки проекта, где можно задать список экспортируемых/импортируемых ресурсов.
Если можно, ссылку на MSDN. Мне самому это интересно — зачем они там, если их нельзя использовать...
Здравствуйте, A.A.L., Вы писали:
AAL>Есть либа, к приложению линкуется через #pragma comment(lib, .....) AAL>В ней экстерновый класс диалога, который создается на основе ресурса, ресурс описан в самой либе в *.rc. AAL>При создании окна (функция Create вызывается внутри либы)Вылитаю по ASSERT — не находится нужный ресурс ???? AAL>Как сделать так, что бы ресурсы моей либы загружались?
К сожалению никак. Единственный, известный мне, вариант поместить диалог в либу — это обойтись вообще без ресурсов. Сделать это можно с помошью DialogBoxIndirect и DLGTEMPLATE + DLGITEMTEMPLATE. Примеры есть здесь
Да нет там ничего интересного. Просто как добавить что-то во встроенные (embedded) ресурсы приложения. Embedded ресурсы — это ресурсы, которые прямо включаются в resx файл, вместо того, чтобы на них там была ссылка.
Embedded resources are the best choice if you need to share application resource (.resx) files between multiple projects. For example, if you have a common resource file that contains your company's logos, trademark information, and such, using embedded resources means you only have to copy the .resx file and not the associated resource data files.
Linked resources are stored as files within the project; during compilation the resource data is taken from the files and placed into the manifest for the application. The application's resource file (.resx) stores only a relative path or link to the file on disk.
И вообще это не наша тематика. .resx — это из оперы ".Net".
AAL>На данный момент подсказали решение такого рода: AAL>В файле *.rc2 — приложения, сделать #include .rc — файла библиотеки