Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Как засунуть .bmp внутрь .exe шника?   Найти похожие ветки 

 
Игорь Н.   (2004-07-21 09:56) [0]

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


 
Jeer ©   (2004-07-21 10:09) [1]

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


 
DimKa ©   (2004-07-21 10:21) [2]

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


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

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

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


 
VMcL ©   (2004-07-21 10:46) [4]

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

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

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


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

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


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

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

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

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


 
DimKa ©   (2004-07-21 11:14) [6]


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

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


 
VMcL ©   (2004-07-21 12:31) [7]

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

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


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

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


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

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

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


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

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

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

Где косяк?


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

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

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


 
parovoZZ ©   (2004-07-22 13:04) [12]

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


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

pic - это Tbitmap

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

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


 
Reindeer Moss Eater ©   (2004-07-22 19:19) [14]

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


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

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

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

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

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


 
grom   (2004-07-22 22:08) [16]

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


 
parovoZZ ©   (2004-07-22 23:04) [17]

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


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


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


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


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

Это всё из-за 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?


 
VMcL ©   (2004-07-23 10:16) [20]

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

uses ..., Graphics;

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



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.055 c
3-1095422021
Bless
2004-09-17 15:53
2004.10.17
Как лучше всего выйти из следующей ситуации:


3-1095770374
Nick-From
2004-09-21 16:39
2004.10.17
Вопрос по FibPlus


14-1096128458
Ricks
2004-09-25 20:07
2004.10.17
Помогите с физикой!!!


8-1090586008
moor38
2004-07-23 16:33
2004.10.17
Как программно несколько WAV-файлов склеить в один?


3-1095927489
Иванов Сергей
2004-09-23 12:18
2004.10.17
Чем пользоваться для доступа к DBF+IDX