DLL - убийственная утилита
|
Программа МсLаud.ехе вызвала неустранимую ошибку в модуле kukushkа.dll при обращении к системному таймеру: Stасk Оvеrflоw. Кukushkа.dll будет закрыта. При повторном появлении ошибки обратитесь к разработчику МсLаud.ехе.
|
Вот маленький метод, взятый мною из небольшого проекта,
созданного мною для удаления 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;
|
|