Показать сообщение отдельно
  #2  
Старый 15.10.2014, 11:35
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вообще-то здесь у вас показана статическая, "явная" загрузка, динамика подразумевает использование неразлучной парочки loadLibrary-FreeLibrary плюс промежуточной getProcAddress для поиска вызываемого кода. Статика уничтожается автоматом менеджером памяти при выходе, но видимо, этого не происходит, в смысле счетчик обращений к библиотеке не нулевой, попробуйте для проверки при завершении выполнить такое(drkb: 01995)
Код:
function KillDll(aDllName: string): Boolean;
var
hDLL: THandle;
aName: array[0..10] of char;
FoundDLL: Boolean;
begin
StrPCopy(aName, aDllName);
FoundDLL := False;
repeat
   hDLL := GetModuleHandle(aName);
   if hDLL = 0 then
     Break;
   FoundDLL := True;
   FreeLibrary(hDLL);
until False;
if FoundDLL then
   MessageDlg('Success!', mtInformation, [mbOK], 0)
else
   MessageDlg('DLL not found!', mtInformation, [mbOK], 0);
end;
Ответить с цитированием