Программирование: UnloadDLL

Прототип

procedure UnloadDLL(Filename: String);

Описание

Выгружает указанный файл DLL, который был загружен секцией [Code] с использованием директивы "external". Функция может быть полезной, когда необходимо удалить файл DLL.

Регистр символов в имени файла и пути должен строго соответствовать регистру импортируемой функции. Перед передачей файла в UnloadDLL необходимо самостоятельно развернуть все константы в имени файла.

Если при импорте функции использовался префикс "files:", добавьте значение константы {tmp} к имени файла (например, ExpandConstant('{tmp}\filename.dll')).

Комментарии

Не рекомендуется экспериментировать, но если вы попытаетесь вызвать функцию из файла DLL, который уже был выгружен, то этот файл DLL будет перезагружен.

Пример

begin
  // Вызываем функцию DllFunc из MyDll.dll
  DllFunc;

  // Выгружаем библиотеку DLL
  UnloadDLL(ExpandConstant('{app}\MyDll.dll'));

  // Теперь можем удалить библиотеку DLL
  DeleteFile(ExpandConstant('{app}\MyDll.dll'));
end;