Форум: "WinAPI";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
ВнизВыгрузка dll из самой себя Найти похожие ветки
← →
AXEL65 (2007-05-09 11:35) [0]Здраствуйте, подскажите, пожалуйста, как можно выгрузить dll
из самой себя.
Например такой код:
В программе, которая загружает dll
procedure TForm1.Button1Click(Sender: TObject);
begin
Dll:=LoadLibrary("Project1.dll");
end;
Код самой dll:
begin
MessageBox(0, "Dll загружена", "", 0);
//Здесь нужно выгрузить dll из программы. FreeLibrary почему-то завершает сам процесс, который загрузил dll.
end.
← →
niko_ © (2007-05-10 10:19) [1]Я как то уже обращался на данный форум с таким же вопросом, но мне так ни кто толком и не ответил :(
Как чё нить придумаешь буду очень признателен если поделишся, я скоко копался так ни чё и не придумал.
← →
{RASkov} © (2007-05-10 10:40) [2]> [0] AXEL65 (09.05.07 11:35)
Если в Dll известен "какой нить хэндл из проги", то, при необходимости выгрузки dll из самой dll, послать сообщение и уже в программе выгрузить dll....
← →
niko_ © (2007-05-10 10:45) [3]{RASkov}: Так в том то и дело что выгрузку надо осуществит именно из Dll.
Ну, в моём случае именно так.
← →
{RASkov} © (2007-05-10 11:07) [4]> [3] niko_ © (10.05.07 10:45)
> Так в том то и дело что выгрузку надо осуществит именно из Dll.
> Я как то уже обращался на данный форум с таким же вопросом,
> но мне так ни кто толком и не ответил :(
> скоко копался так ни чё и не придумал.
Значит это такой гимор, что не стоит этим заниматься.... Я, на данный момент, ответа на конкретный вопрос не знаю, верю только, что невозможного не бывает... в компьютерной сфере....
А в самом деле для чего это? Почему не устраивают стандартные способы? Да и Dll использует подсчет ссылок, и если стала "не кому не нужна", то сама выгружается....
← →
Leonid Troyanovsky © (2007-05-10 13:03) [5]
> AXEL65 (09.05.07 11:35)
> Здраствуйте, подскажите, пожалуйста, как можно выгрузить dll
> из самой себя.
FreeLibraryAndExitThread
--
Regards, LVT.
← →
Rouse_ © (2007-05-10 13:07) [6]
library test;
uses
Windows;
{$R *.res}
procedure TimerProc(Handle: THandle; uMsg, idEvent: UINT;
dwTime: DWORD); stdcall;
begin
FreeLibrary(HInstance);
end;
var
h: THandle;
begin
MessageBox(0, "qwe", "asd", 0);
SetTimer(0, 0, 0, @TimerProc);
end.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.069 c