Версия для печати

Удаление DLL из памяти

Оцените материал
(0 голосов)

Удаление DLL из памяти

Вот маленький метод, взятый мною из небольшого проекта, созданного мною для удаления DLL из памяти. На форме присутствует одно поле редактирования TEdit с именем EditDLLName, кнопки Ok и Close. Следующий код выполняется при нажатии на кнопке Ok:

procedure TForm1.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;
Прочитано 5506 раз