Как выгрузить DLL? FreeLibrary() - не помогает.
От: IvanD  
Дата: 22.11.02 21:43
Оценка:
Привет!
Функция FreeLibrary() не выгружает dll.
Дословно (MSDN 2001) :
The FreeLibrary function decrements the reference count
of the loaded dynamic-link library (DLL).
Аналогов ей там я не нашел.
Спасибо.
Re: Как выгрузить DLL? FreeLibrary() - не помогает.
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 22.11.02 22:07
Оценка:
Здравствуйте, IvanD, Вы писали:

ID>Привет!

ID>Функция FreeLibrary() не выгружает dll.
ID>Дословно (MSDN 2001) :
ID>The FreeLibrary function decrements the reference count
ID>of the loaded dynamic-link library (DLL).
ID>Аналогов ей там я не нашел.
ID>Спасибо.

А что, есть проблема? Опишите, плз, поподробнее... О чем речь в общем и в частности? И чем не устраивает FreeLibrary?
Re[2]: Как выгрузить DLL? FreeLibrary() - не помогает.
От: IvanD  
Дата: 22.11.02 22:21
Оценка:
Здравствуйте, Flamer, Вы писали:

F>А что, есть проблема? Опишите, плз, поподробнее... О чем речь в общем и в частности? И чем не устраивает FreeLibrary?


Прежде всего, спасибо за интерес. А дело в том, что делаю сейчас небольшую утилитку, которая состоит из диалога и, собственно, dll-ки. Так вот, мне ее, есс..но, нужно отлаживать, но после пробного запуска она НЕ выгружается и линковщик ее не может переписать.
Один мой старший товарищ предложил копировать exe-шник вместе с dll в другую папку и там запускать. Но это не выход, согласитесь.
Может быть, знаете программное средство или, в крайнем случае, прогу типа taskkill, которая занимается как раз dll?
Re[3]: Как выгрузить DLL? FreeLibrary() - не помогает.
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 22.11.02 22:31
Оценка:
Здравствуйте, IvanD, Вы писали:

ID>Здравствуйте, Flamer, Вы писали:


F>>А что, есть проблема? Опишите, плз, поподробнее... О чем речь в общем и в частности? И чем не устраивает FreeLibrary?


ID>Прежде всего, спасибо за интерес. А дело в том, что делаю сейчас небольшую утилитку, которая состоит из диалога и, собственно, dll-ки. Так вот, мне ее, есс..но, нужно отлаживать, но после пробного запуска она НЕ выгружается и линковщик ее не может переписать.

ID>Один мой старший товарищ предложил копировать exe-шник вместе с dll в другую папку и там запускать. Но это не выход, согласитесь.
ID>Может быть, знаете программное средство или, в крайнем случае, прогу типа taskkill, которая занимается как раз dll?

Гм. Знакомая проблема... В общем так. Идете в Пуск -> Выполнить, набираете там regedit, находите ветку

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer


Добавляете туда ключ с именем AlwaysUnloadDLL (тип DWORD) и присваиваете ему значение 1. Все — теперь все dll будут выгружаться сразу (ну, или практически сразу)... Удачи!
Re[4]: Как выгрузить DLL? FreeLibrary() - не помогает.
От: IvanD  
Дата: 22.11.02 22:42
Оценка:
Здравствуйте, Flamer, Вы писали:

F>Гм. Знакомая проблема... В общем так. Идете в Пуск -> Выполнить, набираете там regedit, находите ветку


F>
F>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
F>


F>Добавляете туда ключ с именем AlwaysUnloadDLL (тип DWORD) и присваиваете ему значение 1. Все — теперь все dll будут выгружаться сразу (ну, или практически сразу)... Удачи!


Ну, это я недостаточно точно и подробно высказался. С regedit'ом работать умею и про эту фичу знаю достаточно давно. Но это я дома могу свободно ковырятся в реестре и редактировать LOCAL_MACHINE, а программировать приходится большую часть времени на правах user'a. Так что это не выход. Но все равно, спасибо!
С уважением, IvanD.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.