Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Comanche
#1

Создание resource-only DLL - C++

18.07.2010, 21:49. Просмотров 1142. Ответов 3
Метки нет (Все метки)

Пришёл сюда из VB-шного форума, поскольку напоролся на ограничение бэйсика, которое, похоже, обойти нельзя никак.

ДАНО:
Куча иконок с глубиной цвета 24 бита. Иконки используются в приложении VB 6.0. Понижать глубину цвета нельзя; использовать вместо иконок битмапы - тоже нельзя.

ЗАДАЧА:
НаписАть DLL-ку, которая будет хранить все иконки внутри себя в виде ресурсов, и экспортировать некую функцию, которая по заданному ID ресурса вернёт или GDI-шный хэндл иконки, или то, что в бэйсике зовётся 'StdPicture'.

ПРОБЛЕМА:
1). Бэйсиковский редактор ресурсов не понимает, зараза, глубины цвета в 24 бита! (пишет 'Invalid icon file'). А как я мог заметить, в VC 6.0 редактор ресурсов этого ограничения не имеет.
2). Я НЕ ЗНАЮ VC 6.0 - и вместе с тем мне придётся, очевидно, DLL-ку делать на Си, другого выхода нет. Поэтому буду благодарен за любую оказанную помощь: ссылку на MSDN, URL статьи 'в тему', пример кода и т.п.

Заранее благодарен!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2010, 21:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание resource-only DLL (C++):

Создание dll - C++
Всем привет, лютые и бородатые прогеры :) Потихоньку изучаю язык С. Столкнулся с такой проблемой. Не могу сделать динамическую...

создание DLL - C++
Помогите пожалуйста понять что не так сделала 8)))) может что-то странное в коде Program1.dll ...

Создание DLL - C++
Здравствуйте!!!! Помогите пожалуйста создать dll, проблема заключается в том что вылетает множество след. ошибок 2 IntelliSense:...

Создание .dll - C++
Здравствуйте.Нужна помощь в создание dll.Опишите пожалуйста саму структуру dll-файла. Компилятор-g++ 4.8.1,среда-notepad++.

Создание DLL - C++
Всем доброго время суток помогите мне разобраться в том как создавать .dll или подскажите литературу Например как написать вот эту...

Создание DLL - C++
const __int64 MathArray = {{0, 1}, {2, 3}, {4, 5}}; Ошибок нет. но в .h ругается!!

3
Comanche
18.07.2010, 22:16 #2
Вот нашёл в Сети некий 'мастер' создания resource-only DLLs:
http://www.beginthread.com/Article/Ehsan/Win32%20Resource-Only%20DLL%20AppWizard/

Скачал, сделал всё по написанному. Получил DLL-ку с 16-цветной иконкой, хотя скармливал редактору ресурсов 24-битную иконку. Странно... не посмотрите сей чудесный код? (на указанной ссылке лежит ZIP-архив).

И ещё вопрос: правильно ли я понимаю, что выдёргивать иконки из этой DLL-ки нужно с помощью API LoadImage ?
bazile
65 / 41 / 20
Регистрация: 15.03.2007
Сообщений: 6,909
19.07.2010, 11:32 #3
DLL-ку с ресурсами создать несложно. Создайте проект пустой прокет windows приложения (без mfc). Добавьте в него новый *.rc файл и потом экспортом накидайте туда все нужные иконки. Смените тип проекта с Debug на Release. Откомпилируйте. DLLка готова.

Для загрузки иконок лучше использовать специализированную функцию LoadIcon.
0
Comanche
19.07.2010, 13:58 #4
Спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2010, 13:58
Привет! Вот еще темы с ответами:

Создание библиотек DLL - C++
Пишу в Dev-C++. Хочу создать DLL - библиотеку. Помогите разобраться в последовательность написания библиотеки DLL.

Создание dll библиотеки c++ - C++
Есть проект, где много заголовочных файлов. Как собрать dll библиотеку так, чтобы потом использовать только 1 заголовочный файл, а...

DLL. Их создание и полезность - C++
Я слышал краем уха, что DLL это та же библиотека, только поддерживающая динамическое связывание. То есть если нам в каком-то участке кода...

Dll. Создание и использование - C++
Добрый вечер! Не порекомендуете хорошей литературы по созданию и использованию dll библиотек в Windows?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru