Форум: "WinAPI";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизСнова Ресурсы Найти похожие ветки
← →
SVM (2002-10-26 00:45) [0]Как какой-нибудь файл, например dll загнать в ресурс, а во время выполнения программы сохранить этот ресурс в файл! ИСПОЛЬЗУЯ ТОЛЬКО WINAPI!
← →
SPeller (2002-10-26 03:12) [1]Под NT платформой - смотри BeginUpdateResource и иже с ними, а под 9Х - пиши свой компилятор ресурсов, инфа на эту тему в инете есть.
← →
SVM (2002-10-27 00:40) [2]Мне надо просто задать ресурс при компиляции исполняемого модуля, а не изменнение ресурса во время выполнения программы.
← →
SVM (2002-10-27 12:31) [3]Вопрос остается в силе
← →
asmith (2002-10-27 14:19) [4]1). открываем текстовый редактор и пишем :
MYDLL RCDATA mydll.dll
и записываем всё это в файл Lib.rc
2). Компилируем Lib.rc :
brcc32.exe Lib.rc<P></P>
3). Получили Lib.res, линкуем его к основному проекту:
{$R Lib.res}
← →
SVM (2002-10-27 22:18) [5]Ну это-то понятно, а как потом при выполнении программы сохранить эту библиотеку куда-нить.
← →
Pumpkin (2002-10-27 22:26) [6]Сохранить в файл:
procedure TForm1.Button1Click(Sender: TObject);
var
R: TResourceStream;
F: TFileStream;
begin
R := TResourceStream.Create( HInstance, "MYDLL", RT_RCDATA );
F := TFileStream.Create("с:\my_path\mydll.dll", fmCreate );
F.CopyFrom( R, 0 );
F.Free;
R.Free;
end;
← →
SVM (2002-10-28 22:16) [7]Я же сказал, что используя только WinApi.
← →
Pumpkin (2002-10-28 23:20) [8]Сорри, держи:
var
F: TFileStream;
HR, HG: THandle;
P: Pointer;
Sz: Integer;
begin
HR := FindResource( HInstance, "MYDLL", RT_RCDATA );
HG := LoadResource( HInstance, HR );
P := LockResource( HG );
Sz := SizeofResource( HInstance, HR );
...
// поинтер известен ( P ) и размер известен ( Sz )
// сохраняй буфер в файл.
...
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c