Здравствуйте Аноним, Вы писали:
А>Всем привет! Вопрос по 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;
Вот и все
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))