Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Выгрузка из памяти DLL файлов. 


inko   (2002-04-17 15:41) [0]

Следующую функцию я использую для выгрузки из памяти DLL файлов:


{---------------------------------------------------------------}
procedure TForm1.Button7Click(Sender: TObject);
var
hDLL : THandle;
aName : array[0..10] of char;
FoundDLL : Boolean;
begin
StrPCopy(aName, Edit1.Text);
FoundDLL := false;
repeat
hDLL := GetModuleHandle(aName);
if hDLL = 0 then
break;
FoundDLL := true;
FreeLibrary(hDLL);
until false;
if FoundDLL then
ShowMessage("File is successfully unloaded !")
else
ShowMessage("File is not found in memories !");
end
else
ShowMessage("File has an invalid format !");
end;
{---------------------------------------------------------------}

Когда я пытаюсь с помощью этой функции выгрузить не используемый DLL файл, выводится сообщение
ShowMessage("File is not found in memories !"); , а сразу после его закрытия - ошибка
"Access violation at address 72505CFB. Read of address 72505CFB".

Что происходит и как от этого избавится?



Alx2   (2002-04-17 15:49) [1]

DLL выгружается когда это "удобно" системе и когда никто больше ее не использует.



Alx2   (2002-04-17 15:50) [2]

И еще:
hDLL := GetModuleHandle(PChar(Edit1.Text));
Это надежнее.



Nicolas_   (2002-04-17 16:59) [3]

У тебя в коде полная неразбериха. К какому if относится последний else?




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.025 c
1-94431           Винни Пух             2002-04-18 12:40  2002.04.29  
Как проверить зарегистрирован ли OCX/DLL файл в реестре ?


14-94572          Doom                  2002-03-21 11:25  2002.04.29  
Люди !!! Помогите !!! Модем одурел совсем !! Сам по себе работает!!!


3-94259           kopachev              2002-04-07 15:03  2002.04.29  
Отчет в fast report


1-94378           Sound                 2002-04-17 01:38  2002.04.29  
Как востановить размер окна при запуске программы?


1-94385           inko                  2002-04-17 15:41  2002.04.29  
Выгрузка из памяти DLL файлов.