Re: Ресурсы в exe
От: Hacker_Delphi Россия  
Дата: 15.07.02 02:04
Оценка: 9 (2)
Здравствуйте Аноним, Вы писали:

А>Всем привет! Вопрос по Delphi 6.

А>Как упаковать в ехе-файл другие файлы (картинки, звук, видео и т.п.) и как обратиться к ним (в коде этого-же ехе-шника)? Хотелось что-бы все, что нужно для моей программы хранилось в ней-самой-же.
А>Если тут много оъяснять, где это поподробнее расписано?
А>Спасибо.
Создаешь rc файл. В нем описываешь свои ресурсы примерно так:

myres.rc:
BMP1 BITMAP bmp1.bmp
BMP2 BITMAP bmp2.bmp
SOMEDATA RCDATA somedata_file.something

То есть, .BMP картинки кидаешь как BITMAP остальные данные — как RCDATA.
далее компилируешь такой командой:
brc32 myres.rc

А в самой программе их грузишь так:
{$R myres.res}
//Эта строка их прилинковала к EXE

procedure SomeInitialization;
var
  RS: TResourceStream;  
  Size: integer;
begin
  FBMP1 := TBitmap.Create;
  FBMP1.LoadFromResourceName(hInstance, 'BMP1');
// то же самое для BMP2
  RS := TResourceStream.Create(hInstance, 'SOMEDATA', RT_RCDATA);
  Size := RS.Size;
  SOMEDATA := AllocMem(Size)
  RS.Read(SOMEDATA^, Size);
  RS.Free;
end;

Вот и все
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.