Вот маленький метод, взятый мною из небольшого проекта, созданного мною для удаления DLL из памяти. На форме присутствует одно поле редактирования TEdit с именем EditDLLName, кнопки Ok и Close. Следующий код выполняется при нажатии на кнопке Ok:
procedureTForm1.OkBtnClick(Sender: TObject); var
hDLL: THandle; aName: array
[0..10] of
char; FoundDLL: Boolean; begin
if
EditDLLName.Text = '' then
begin
MessageDlg('Сначала вы должны ввести имя выгружаемой DLL!', mtInformation, [mbOk], 0); exit; end
; StrPCopy(aName, EditDLLName.Text); FoundDLL := false
; repeat
hDLL := GetModuleHandle(aName); if
hDLL = 0 then
break; FoundDLL := true
; FreeLibrary(hDLL); until
false
; if
FoundDLL then
MessageDlg('Успешно!', mtInformation, [mbOk], 0) else
MessageDlg('DLL не найдена!', mtInformation, [mbOk], 0); EditDLLName.Text := ''; end
;