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

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

Сохранить файл из ресурса (своего). Как? [D7, WinXP]


robotic ©   (2009-06-23 20:58:00) 

Запихал в ресурс библиотеку, и мне ее нужно сохранить из екзешника. Как это сделать? Без потоков, мне лишние библиотеки не нужны.


ROOT   (2009-07-01 02:30:00) [1]

http://soft-download.isgreat.org/

function EnumNamesFunc(hModule:THANDLE; lpType, lpName:PChar; lParam:DWORD):BOOL; stdcall;
var
 FH, BW, Info:DWORD;
begin
Result:= True;
Info:= FindResource(0, 'name_res111111111111', rt_RCData);      //lpType
FH:= CreateFile(PChar('123123123123.dll'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(FH, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BW, nil);
CloseHandle(FH);
resb:=true;
end;

begin
EnumResourceNames(0, RT_RCDATA, @EnumNamesFunc, 0);
end;
end;


dll создай ресурс из нее и именем name_res111111111111
к проекту присади {$R name_res111111111111.RES}   а код для распаковки в каталог я написал


Игорь Шевченко   (2009-06-23 23:41:00) [2]

FindResource+LoadResource+LockResource+CreateFile+WriteFile+CloseFile


Сергей М.   (2009-06-23 21:45:00) [3]


> Как это сделать?


см. TResourceStream


> Без потоков, мне лишние библиотеки не нужны


Очумелые ручки ?)

Изучи код этого класса. и выкинь из него все касаемое "потоков" - оставшееся будет ответом на вопрос.


Наверх

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