Форум: "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.44 MB
Время: 0.043 c