Вниз
Скачать: CL | DM;

Выгрузка 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
15-1192705076
Evanescence
2007-10-18 14:57
2007.11.18
Тоже про диал-ап :)


2-1193231840
AlexanderMS
2007-10-24 17:17
2007.11.18
Тонкости в сравнении.


15-1192174488
Azize
2007-10-12 11:34
2007.11.18
Web технологии и поддержка


2-1193398035
Alex_C
2007-10-26 15:27
2007.11.18
Как в своей форме перехватить открытие диалога выбора файла?


11-1177518640
vofk
2007-04-25 20:30
2007.11.18
Unicode, RichEdit




   Наверх