DelphiXE10.2.3 for Linux开发(二)

2019-07-12 23:05发布

    windows下装载动态库时一般使用LoadLibrary和GetProcAddress来装载动态库和获取动态库指定导出函数的地址,在DelphiXe10.2.X for Linux下也能使用这两个函数来装载 SO 动态库,重点要注意Handle是HMODULE类型,不能用cardinal类型,虽然Windows下LoadLibrary和GetProcAddress都是可以使用cardinal类型,但Linux要使用THandle类型(也就是HMODULE类型)。方法如下:type  TGetSum = function(A: integer; B: integer): integer; stdcall;
vari:integer; FHandle: HMODULE;GetSum : TGetSum ;
begin   FHandle := LoadLibrary(PChar(FilePath + 'libLinuxDLL.so'));
   if FHandle <> 0 then begin    GetSum := TGetSum (GetProcAddress(FHandle,
    pchar('GetSum ')));    if @GetSum <>nil then     i:=GetSum(3,3);   end;end;