Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение bmp из dll, ... 
:(
    Опции темы
Plamenk
Дата 2.2.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Все ПРИВЕТ!

Делаю программу в которой используется множество bmp для оформление форм и наглядности происходящего. Пока все файлы хранятся в отдельном каталоге и программно подгружаются по мере необходимости.
Вопрос в следующем:
Как можно запихнуть все bmp в dll и соотвественно потом отдута их загрузить.
Для отображения картинок используется элемент управления PictureBox.

Заранее всем БОЛЬШОЕ СПАСИБО!!!
PM MAIL   Вверх
cardinal
Дата 2.2.2004, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
Как можно запихнуть все bmp в dll и соотвественно потом отдута их загрузить.

Опять были нарушены правила форума - в конце вопросительного предложения не поставлен вопросительный знак! (Шутка smile.gif)
И так dll - это не склад bmp`шек, а dynamic link library, то есть динамически "прилинковываемая" библиотека. Запихнуть bmp можно куда угодно, но не в dll. Можно и в dll конечно, но она тогда перестанет быть dll. smile.gif Опиши по подробней, что ты пытаешься сделать - будем кумекать.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Black_Star
Дата 2.2.2004, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 9.9.2003
Где: Minsk

Репутация: 4
Всего: 4



Цитата
Запихнуть bmp можно куда угодно, но не в dll. Можно и в dll конечно, но она тогда перестанет быть dll.

Кто это сказал? Cardinal, ты? Уверен?
Я вот не уверен и легко могу доказать обратное.
Создаешь новый проект. Выбираешь Длл. Там создаешь файл ресурсов и... пихай хоть 100 картинок. Все будет ок. Потом делаешь ф-ю внутри длл, которая из ресурса читает картинку и возращает вызвавшей проге. Piece of cake.
PM ICQ   Вверх
vozamlA
Дата 3.2.2004, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: нет
Всего: нет



На vbstreets есть такая программа с исходниками.(по крайней мере была)

PM MAIL   Вверх
cardinal
Дата 3.2.2004, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
Кто это сказал? Cardinal, ты? Уверен?

Вот что значит тормознул sad.gif. Black_Star, молоток и получает плюс в рейтинге - за то что не верит во все, что я пишу и поправляет когда не прав. В VB все на самом деле можно сделать как ты сказал (значит и в Си наверно тоже). Открыл ты мне новый мир smile.gif. Для меня библиотека всегда была библиотекой, а не "складом картинок", как я уже раньше написал, а тут получается, что даже из динамически подлинковываемой библиотеки можно сделать этот самый склад. Дааааа...
Осталось только Plamenk и другим получше объяснить, что и как, с примером. Сейчас убегаю на пробежку, а потом обязательно чиркну парок строк. Да и думаю в FAQ надо засунуть - так для расширения кругозора smile.gif.

Нет, ну надо же, я даже не думал, что такое можно сделать. Вот тебе и piece of cake withstupid.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Plamenk
Дата 3.2.2004, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



Как запихнуть файлы в dll(создается в С++) понятно, но остается вопрос как потом вытаскивать эти bmp из dll в VB.
PM MAIL   Вверх
cardinal
Дата 3.2.2004, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
вытаскивать эти bmp из dll в VB

Это в смысле запоминать как файл или использовать в программе? Если второе, то используй функцию LoadResPicture:
Цитата
LoadResPicture Function

Loads abitmap,icon, or cursor from a resource (.res) file.

Syntax

LoadResPicture(index, format)

The LoadResPicture function syntax has these parts:

Part Description
index Required. Integer or string specifying the identifier (ID) of the data in the resource file. The resource whose ID is 1 is reserved for the application icon.
format Required. Value or constant that specifies the format of the data being returned, as described in Settings.

Settings

The settings for format are:

Constant Value Description
vbResBitmap = 0 (Bitmap resource)
vbResIcon = 1 (Icon resource)
vbResCursor = 2 (Cursor resource)

Remarks

You can use the LoadResPicture function instead of referring to graphics stored in the Picture property of a Form or controls.

Storing bitmaps, icons, or cursors in and accessing them from resource files improves load time because you can load them individually as needed from the resource file, rather than all at once when a Form is loaded.

Using LoadResPicture is useful for localizing a Visual Basic application because the resources that need to be translated are isolated in one resource file and there is no need to access the source code or recompile the application.
MSDN

Ну а если первое, то там будет по сложнее. Так что именно?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Mephisto
Дата 3.2.2004, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Извини, сейчас точно не проверю. Нет ВБ.
Но что-то мне напоминает слово LoadResBitmap (номер рисунка)confused.gif
Проверяй!
PM   Вверх
Mephisto
Дата 3.2.2004, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



cardinal, ты меня опередил на 1 минуту!
Всё-таки не LoadResBitmap, a LoadResPicture.

Это сообщение отредактировал(а) U-Boot - 3.2.2004, 18:51
PM   Вверх
Plamenk
Дата 3.2.2004, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 258
Регистрация: 18.2.2003

Репутация: нет
Всего: 3



cardinal Спасибо именно то что нужно!!!


PM MAIL   Вверх
Black_Star
Дата 13.2.2004, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 9.9.2003
Где: Minsk

Репутация: 4
Всего: 4



Цитата
Black_Star, молоток и получает плюс в рейтинге

Это конечно здорово, не хотелось быть наковальней... вот и пожалуйста smile.gif
Так вот. Как там насчет
Цитата
Ну а если первое, то там будет по сложнее.

Я знаю как, нужен ли хелп по этому поводу?
PM ICQ   Вверх
cardinal
Дата 13.2.2004, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата
Я знаю как, нужен ли хелп по этому поводу?

Конечно нужен smile.gif
Вот я тут писал в FAQ про стеганографию:
http://forum.vingrad.ru/index.php?act=ST&f=33&t=17367
там еще ничего не дописано до конца (в смысле может кое что получше надо объяснить). Если хочешь напиши что-нибудь на тему "Как запомнить bmp из res как файл?" засунем в FAQ, а снизу напишем: "Здесь пример для работы с bmp" и ссылку на тему выше.
Как ты видишь FAQ регулярно мной пополняется всякими полезностями (за исключением той темы про ассемблер smile.gif, но тоже для информации полезно знать) и совместными усилиями он скоро станет по круче чем у Сишников cool.gif
p.s. ты что полез старые темы смотреть? smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0546 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.