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

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

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]

Также как и битмап, только измени тип ресурса...


Наверх

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