Привет!
Функция FreeLibrary() не выгружает dll.
Дословно (MSDN 2001) :
The FreeLibrary function decrements the reference count
of the loaded dynamic-link library (DLL).
Аналогов ей там я не нашел.
Спасибо.
Re: Как выгрузить DLL? FreeLibrary() - не помогает.
Здравствуйте, 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() - не помогает.
Здравствуйте, Flamer, Вы писали:
F>А что, есть проблема? Опишите, плз, поподробнее... О чем речь в общем и в частности? И чем не устраивает FreeLibrary?
Прежде всего, спасибо за интерес. А дело в том, что делаю сейчас небольшую утилитку, которая состоит из диалога и, собственно, dll-ки. Так вот, мне ее, есс..но, нужно отлаживать, но после пробного запуска она НЕ выгружается и линковщик ее не может переписать.
Один мой старший товарищ предложил копировать exe-шник вместе с dll в другую папку и там запускать. Но это не выход, согласитесь.
Может быть, знаете программное средство или, в крайнем случае, прогу типа taskkill, которая занимается как раз dll?
Re[3]: Как выгрузить DLL? FreeLibrary() - не помогает.
Здравствуйте, IvanD, Вы писали:
ID>Здравствуйте, Flamer, Вы писали:
F>>А что, есть проблема? Опишите, плз, поподробнее... О чем речь в общем и в частности? И чем не устраивает FreeLibrary?
ID>Прежде всего, спасибо за интерес. А дело в том, что делаю сейчас небольшую утилитку, которая состоит из диалога и, собственно, dll-ки. Так вот, мне ее, есс..но, нужно отлаживать, но после пробного запуска она НЕ выгружается и линковщик ее не может переписать. ID>Один мой старший товарищ предложил копировать exe-шник вместе с dll в другую папку и там запускать. Но это не выход, согласитесь. ID>Может быть, знаете программное средство или, в крайнем случае, прогу типа taskkill, которая занимается как раз dll?
Гм. Знакомая проблема... В общем так. Идете в Пуск -> Выполнить, набираете там regedit, находите ветку
Добавляете туда ключ с именем AlwaysUnloadDLL (тип DWORD) и присваиваете ему значение 1. Все — теперь все dll будут выгружаться сразу (ну, или практически сразу)... Удачи!
Re[4]: Как выгрузить DLL? FreeLibrary() - не помогает.
F>Добавляете туда ключ с именем AlwaysUnloadDLL (тип DWORD) и присваиваете ему значение 1. Все — теперь все dll будут выгружаться сразу (ну, или практически сразу)... Удачи!
Ну, это я недостаточно точно и подробно высказался. С regedit'ом работать умею и про эту фичу знаю достаточно давно. Но это я дома могу свободно ковырятся в реестре и редактировать LOCAL_MACHINE, а программировать приходится большую часть времени на правах user'a. Так что это не выход. Но все равно, спасибо!
С уважением, IvanD.