Вниз
Скачать: CL | DM;

KOL + freelibrary   Найти похожие ветки 

 
Riton   (2005-08-12 21:29) [0]

Hello,

I have a problem to use freelibrary to unload my dll dynamicly.

Here is the code :

var
DLL:HWD;

DLL := LoadLibrary(PChar("MyDLL.dll"));
 if DLL <> 0 then begin
   try
     MyFunction := GetProcAddress(DLL, "MyFunction");
     if assigned(MyFunction) then begin
   result:=MyFunction;
     end
     else ShowMessage("Function is not found in the dll");
   finally
FreeLibrary(DLL); // => PROBLEM !
  end;
 end
 else showmessage("The DLL "MyDLL" is not found");
end;

Where is the mistake please ? Why is it not possible to unload the dll at the place where the problem is ?

Thank you very much for your help.

Best regards.
Riton.


 
Dodfr   (2005-08-12 22:50) [1]

are you sure it is not the DLL itself that crash when it is freed ?


 
thaddy   (2005-08-13 01:05) [2]

Freelibrary(&#39;MyLibrary.dll&#39;), perhaps? ;)
Otherwise it is already unloaded by the operating system, or not part of YOUR application ;)


 
Alexander Panov ©   (2005-08-13 04:56) [3]

Why KOL?
Read commentary Wizard DLL?


 
Riton   (2005-08-13 12:19) [4]

Problem solved.

Thank you very much Dodfr and Alexander. I had forgotten to add sharemem to uses in then application and in then dll.

I found heapmm on kol site (downloads > Adds) which do the same thing and does not require a dll. It is wonderful. I recommend it to you !

Bye.
Riton.


 
Thaddy   (2005-08-14 11:42) [5]

Even better is FastMM4, available from tha fastcode project (rumoured to be the "official" memory manager in D2006), which does the same as HeapMM. Gives a bit larger code, though, but more stable and a lot faster than the heapMM.


 
L505   (2005-08-17 13:20) [6]

What you are passing between the DLL and the program?

You shouldn"t have to use sharemem unless you are passing ansistrings, dynamic arrays, or other "Automatic Types" across module boundries. i.e. if you use pchars, fixed arrays, records of pchars and fixed arrays, integers, it is okay.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.078 c
4-1137094740
AndreyRus
2006-01-12 22:39
2006.04.09
Временный запрет доступа всех процессов к HDD


2-1143213758
Nirvana
2006-03-24 18:22
2006.04.09
Вопрос по DBLookupComboBox


3-1140091873
Alexey V.
2006-02-16 15:11
2006.04.09
Как мне достучаться до базы btrieve?


1-1141384152
Layner
2006-03-03 14:09
2006.04.09
Помогите кодом, где из компанента создается форма


1-1141294068
caries
2006-03-02 13:07
2006.04.09
Как вычислить разницу в датах?




   Наверх