Dear developers,

On Lazarus v0.9.25 r16541 i386-win32-win32/win64, the LoadLibrary 
function fails on WinCE.

I tried to load libpq.dll and sqlite3.dll with no success.

I have the ARM/WinCE libraries in the same directory as my executable 
(even in the \gdb folder). All accompanying libraries, *.dll and *.lib, 
for libpq.dll I have also there.

I tried to load the libraries myself using a full absolute path (e. g., 
ExtractFilePath(ParamStr(0)) + 'libpq.dll').

You can test it on the PQConnection component (try the .Connect 
property). Of course you should have the libpq.dll file for WinCE.

An alternative way is just to load some library you find on your WinCE 
system, let's say (untested code):

procedure Form1.Button1Click(Sender: TObject);
var LibHandle: HInst;
begin
    LibHandle := Windows.LoadLibrary('mylibrary.dll')
    ShowMessage(IntToStr(LibHandle));
    LibHandle := Windows.LoadLibrary(ExtractFilePath(ParamStr(0)) + 
'mylibrary.dll')
    ShowMessage(IntToStr(LibHandle));
end;

That's it. If you have the same bug you'll get both handles of zero 
value (meaning the loading wasn't successful).

I wonder why just a simple thing as calling an API function would fail. 
Maybe because the core library from that the LoadLibrary function is 
imported also fails to load??

Any clue how to get it working?

Pavel Řezníček
_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to