Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
2-1153892901
FBI Agent
2006-07-26 09:48
2006.08.13
Проблема с учётной записью


3-1149758205
Тфьу
2006-06-08 13:16
2006.08.13
Проблеммы получения данных из параметра процедуры CLOB из DOA...


6-1143459925
Ozone
2006-03-27 15:45
2006.08.13
Indy + TCPServer + "Connected" = проблемы


15-1152693914
Furyz-dimodim
2006-07-12 12:45
2006.08.13
Биллинг ... и учет траффика


2-1153720810
DimonS
2006-07-24 10:00
2006.08.13
Вложенные запросы. Нужен совет.