![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Dll с ресурсами [D7, WinXP]
Dstr © (2006-05-10 23:23:00)Доброй ночи!!!
Скажите,как достать из библиотеки тот или иной ресурс,например Wav(Битмапы дочтавать я умею)
Dstr (2006-05-11 12:21:00) [1]Спасибо за вариант,испробую,а картинки доставать ваще легко там у класса у какогото толи TBitmap толи эшо чето есть спец функция LoadFromResurseID а FindResource я пробовал использовать,но ничего не вышло(прога заканчивалась с ошибкой) токо судя по названию SaveOtherDLL сохраняет ресурсы,а не наоборот,но ето мне тоже пригодится...
GanibalLector (2006-05-11 01:01:00) [2]Например так :
function SaveOtherDLL(var FileName:String):Boolean;
var hRes,hResData:THandle;
Mem:Pointer;
hFile:Integer;
Buff : array [0..MAX_PATH] of Char;
begin
Result:=False;
if GetTempPath(SizeOf(Buff),Buff)<>0 then
begin
FileName:= StrPas(Buff)+LibName+'.tmp';
if FileExists(FileName) then
Result:=True else
begin
hRes:=FindResource(hInstance,LibName,RT_RCDATA);
if hRes<>0 then
begin
hResData:=LoadResource(HInstance,hRes);
if hResData<>0 then
begin
Mem:=LockResource(hResData);
hFile:=FileCreate(FileName);
if hFile<>-1 then
begin
if FileWrite(hFile,Mem^,SizeOfResource(hInstance,hRes))<>-1 then
Result:=True;
FileClose(hFile);
end;
end;
end;
end;
end;
end;
//
Rouse_ (2006-05-10 23:51:00) [3]Также как и битмап, только измени тип ресурса...