Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выгрузка dll из самой себя


AXEL65 ©   (2007-05-09 11:35:00) 

Здраствуйте, подскажите, пожалуйста, как можно выгрузить dll
из самой себя.
Например такой код:
В программе, которая загружает dll

procedure TForm1.Button1Click(Sender: TObject);
begin
Dll:=LoadLibrary('Project1.dll');
end;

Код самой dll:

begin

MessageBox(0, 'Dll загружена', '', 0);

//Здесь нужно выгрузить dll из программы. FreeLibrary почему-то завершает сам процесс, который загрузил dll.

end.


Rouse_   (2007-05-10 13:07:00) [1]

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.


Leonid Troyanovsky   (2007-05-10 13:03:00) [2]


> AXEL65   (09.05.07 11:35)  

> Здраствуйте, подскажите, пожалуйста, как можно выгрузить dll
> из самой себя.

FreeLibraryAndExitThread

--
Regards, LVT.


{RASkov}   (2007-05-10 11:07:00) [3]

> [3] niko_ ©   (10.05.07 10:45)
> Так в том то и дело что выгрузку надо осуществит именно из Dll.

> Я как то уже обращался на данный форум с таким же вопросом,
> но мне так ни кто толком и не ответил :(

> скоко копался так ни чё и не придумал.

Значит это такой гимор, что не стоит этим заниматься.... Я, на данный момент, ответа на конкретный вопрос не знаю, верю только, что невозможного не бывает... в компьютерной сфере....
А в самом деле для чего это? Почему не устраивают стандартные способы? Да и Dll использует подсчет ссылок, и если стала "не кому не нужна", то сама выгружается....


niko_   (2007-05-10 10:45:00) [4]

{RASkov}: Так в том то и дело что выгрузку надо осуществит именно из Dll.

Ну, в моём случае именно так.


{RASkov}   (2007-05-10 10:40:00) [5]

> [0] AXEL65   (09.05.07 11:35)

Если в Dll известен "какой нить хэндл из проги", то, при необходимости выгрузки dll из самой dll, послать сообщение и уже в программе выгрузить dll....


niko_   (2007-05-10 10:19:00) [6]

Я как то уже обращался на данный форум с таким же вопросом, но мне так ни кто толком и не ответил :(

Как чё нить придумаешь буду очень признателен если поделишся, я скоко копался так ни чё и не придумал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо