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

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

Снова Ресурсы


SVM ©   (2002-10-26 00:45:00) 

Как какой-нибудь файл, например dll загнать в ресурс, а во время выполнения программы сохранить этот ресурс в файл! ИСПОЛЬЗУЯ ТОЛЬКО WINAPI!


Pumpkin   (2002-10-28 23:20:00) [1]

Сорри, держи:

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;


SVM   (2002-10-28 22:16:00) [2]

Я же сказал, что используя только WinApi.


Pumpkin   (2002-10-27 22:26:00) [3]

Сохранить в файл:
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-27 22:18:00) [4]

Ну это-то понятно, а как потом при выполнении программы сохранить эту библиотеку куда-нить.


asmith   (2002-10-27 14:19:00) [5]

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 12:31:00) [6]

Вопрос остается в силе


SVM   (2002-10-27 00:40:00) [7]

Мне надо просто задать ресурс при компиляции исполняемого модуля, а не изменнение ресурса во время выполнения программы.


SPeller   (2002-10-26 03:12:00) [8]

Под NT платформой - смотри BeginUpdateResource и иже с ними, а под 9Х - пиши свой компилятор ресурсов, инфа на эту тему в инете есть.


Наверх

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