Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

DLL в DLL(в качестве ресурса)   Найти похожие ветки 

 
GanibalLector ©   (2006-04-19 13:48) [0]

Есть библиотека с ресурсом. В ресурсе еще одна библиотека.
Соответственно,при вызове некоторой ф-ции из библиотеки, я извлекаю ресурс...сохраняю его...вызываю некоторые ф-ции. Выглядит примерно так :

const rName = "Lib_1";

function SaveOtherDLL:Boolean;
 var hRes,hResData:THandle;
     hFile : Integer;
     Mem:Pointer;
begin
 Result:=False;
 hRes:=FindResource(hInstance,rName,RT_RCDATA);
 if hRes<>0 then
 begin
   hResData:=LoadResource(HInstance,hRes);
   if hResData<>0 then
   begin
     Mem:=LockResource(hResData);
     hFile:=FileCreate(rName+".dll");
     if hFile<>-1 then
     begin
       FileWrite(hFile,Mem^,SizeOfResource(hInstance,hRes));
       FileClose(hFile);
       Result:=True;
     end;
   end
 end;
end;

function Add2(const A:Byte):Byte;stdcall;
 var hDLL:THandle;
begin
 if SaveOtherDLL then
 begin
   hDLL:=LoadLibrary(rName+".dll");
   if hDLL<>0 then
   begin
     // вызываю ф-ции из биб-ки,которая является ресурсом
   end;
 end;
 Result:=Result+1;
end;


 
GanibalLector ©   (2006-04-19 13:48) [1]

НО !!! На мой взгляд, нужно слишком много действий делать связанных с проверкой сохранения.(т.е. вдруг это CD, вдруг это библиотека уже загружена, удалять...а она не удаляется и пр. )

Хотелось бы, ресурс в виде библиотеки не сохранить вообще, а сразу  загружать. Но LoadLibrary требует путь к библиотеке :( Подскажите,можно ли решить мою проблему ???

Заранее спасибо!


 
Rouse_ ©   (2006-04-19 14:07) [2]

Писать свой загрузчик: http://www.rsdn.ru/article/baseserv/peloader.xml



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
15-1152882155
Ketmar
2006-07-14 17:02
2006.08.13
RSDN требует MS Word для статей


2-1153821432
Wolferio
2006-07-25 13:57
2006.08.13
Поиск папки по первым буквам


4-1145543403
Yus
2006-04-20 18:30
2006.08.13
Структура DCB


1-1151654796
dddd
2006-06-30 12:06
2006.08.13
Почему пропускаются breakpints-ы?


2-1153605815
Забывчивый
2006-07-23 02:03
2006.08.13
Треугольник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский