Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как засунуть .bmp внутрь .exe'шника?


Игорь Н. ©   (2004-07-21 09:56:00) 

Ув. мастера, понимаю, что вопрос затёртый, но нигде не могу найти ответа на вопрос "Как засунуть .bmp внутрь исполняемого файла, а в программе присвоить эту картинку из ресурса переменной pic"


VMcL   (2004-07-23 10:16:00) [1]

>>Игорь Н.  (23.07.04 08:58) [19]

uses ..., Graphics;

если будет все равно ругаться на TBitmap, значит нужно явно указать с какого модуля нужно использовать идентификатор:
var
 pic: Graphics.TBitmap;
//...
pic := Graphics.TBitmap.Create;


Игорь Н.   (2004-07-23 08:58:00) [2]

Это всё из-за KOL. Пишу обычный VCL проект pic:=Tbitmap.Create;
pic.LoadFromResourceName(HInstance, 'MAINPIC');
image1.Picture.Bitmap:=pic;

- Всё работает. Делаю тоже самое на KOL - Останавливает на строке
pic:=Tbitmap.Create; Пишет this form or method can only allowed in methods of derived types.

Я думаю, что это из-за модулей. В каком модуле находится процедура Tbitmap.create?


Огромное Кулясищще   (2004-07-22 23:18:00) [3]


> А проще всего с помощью Resource Workshop. Особых проблем
> не было.


Так тут человек ещё и загрузить не может. Достаточно посмотреть на Игорь Н. (21.07.04 11:13) [5] и приведённый код.


parovoZZ   (2004-07-22 23:04:00) [4]

А проще всего с помощью Resource Workshop. Особых проблем не было.


grom   (2004-07-22 22:08:00) [5]

В image.rc я бы написал так
MAINPIC BITMAP "1.BMP"


Огромное Кулясищще   (2004-07-22 20:52:00) [6]

Варианты действий:

1. Вместо MAINPIC BITMAP LOADONCALL DISCARDABLE 1.bmpнапиши MAINPIC BITMAP 1.bmp

2. Убедись, что pic := TBitmap.Create имеется.

3. Почитай http://blackman.wp-club.net/lection/resurs.php


Reindeer Moss Eater   (2004-07-22 19:19:00) [7]

Так где нынче суть? Почему не работает?
Getlasterror знает почему не работает.


Игорь Н.   (2004-07-22 18:46:00) [8]

pic - это Tbitmap

Я как раз и делаю через res.
1. Пишу image.rc
2. Создаю image.res
3. В программе пишу {$R image.res}
4. pic.LoadFromResourceName(HInstance,'MAINPIC');

Так где нынче суть? Почему не работает?


parovoZZ   (2004-07-22 13:04:00) [9]

А через *.Res файл не пробовали?


VMcL   (2004-07-22 11:17:00) [10]

>>Игорь Н.  (22.07.04 11:15) [10]

Что такое `pic`?


Игорь Н.   (2004-07-22 11:15:00) [11]

Пишу: pic.LoadFromResourceName(HInstance,'MAINPIC');
Компилируется без ошибок, запускаю exe'шник - ошибка: "Иструкция по адрессу 0x00000 обратилась к памяти по адресу 0x000000. Память не может быть read"

В image.rc писал MAINPIC BITMAP LOADONCALL DISCARDABLE 1.bmp

Где косяк?


Игорь Н.   (2004-07-22 10:40:00) [12]

DimKa, вопрос то по мультимедиа, а не по особеностям KOL программирования.

grom, Не то! Мне нужен метод загрузки bitmap из ресурса навроде того, что предложил VMcL - LoadFromResource, если бы он еще работал...


grom   (2004-07-21 17:36:00) [13]

посмотри этот пример и аналогично зделай c BITMAP
http://my.samara.ru/~delphi/rubric/
28.03.2004 Звук из ресурса(+Пример)


VMcL   (2004-07-21 12:31:00) [14]

>>Игорь Н.  (21.07.04 11:13) [5]

Имя ресурса ты указываешь в .rc-файле. В приведенном мной примере это 'MYBITMAP'. TBitmap + F1 - у меня Delphi в офисе нет, поэтому я мог ошибиться с названием метода.


DimKa   (2004-07-21 11:14:00) [15]


> P.S. Я программирую на KOL и MCK

Дык туда и пиши


Игорь Н.   (2004-07-21 11:13:00) [16]

Пишет "Undeclared identifier LoadFromResource" И что подразумевается под именем ресурса.

Так? TBitmap.LoadFromResource({$R MySuperResource.res'MYBITMAP'});?

P.S. Я программирую на KOL и MCK


VMcL   (2004-07-21 10:46:00) [17]

>> Игорь Н.  (21.07.04 09:56)

Пишешь RC-файл:

// MySuperResource.rc
MYBITMAP    BITMAP LOADONCALL DISCARDABLE файл


В программе:
TBitmap.LoadFromResource({имя ресурса: 'MYBITMAP'});

Если не хочешь использовать TBitmap, тогда см. исходники TBitmap.LoadFromResource() и сделай аналогично.


Игорь Н.   (2004-07-21 10:32:00) [18]

НЕ ТО. Мне нужно именно в ресурс загрузить bmp
ПОТОМУ ЧТО:
1. Я програмирую на KOL и не использую TImage
2. Мне не нужно размещать картинку на форме мне нужно поместить её в переменную(чтобы потом вставить в чужом окне)

Так никто не знает, как разместить .bmp в ресурсе, а потом присвоить ентот bmp переменной...


DimKa   (2004-07-21 10:21:00) [19]

Добавление к предыдущему ответу:
Кидаешь TImage на форму,
в Object Inspector находишь свойство Picture,
в поле ввода нажимаешь ... и выбираешь картинку.
При компиляции она попадает в exe-шник.


Jeer   (2004-07-21 10:09:00) [20]

TImage, например, никто не отменял.


Наверх

Титульная страница Поиск, карта сайта Написать письмо