[Lazarus] TMS component for lazarus released

Michael Van Canneyt michael at freepascal.org
Wed Sep 17 11:29:13 CEST 2008


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



More information about the Lazarus mailing list