[Lazarus] How to add & change application EnvironmentList ?

FreeMan freeman35 at delphiturkiye.com
Thu Aug 27 17:36:09 CEST 2015


Yes, now I can access to fbemdeb. kubuntu 14.10 x64
How to do:
this code from Petr (Thank you) in lpr file
{$IFDEF UNIX}
   function setenv(_para1:Pchar; _para2:Pchar; 
_para3:longint):longint;cdecl;external 'libc' name 'setenv';
{$ENDIF UNIX}

{$R *.res}
begin
//fb_RootPath usually unde the application folder
   setenv(PChar('FIREBIRD'), PChar(fb_RootPath), 1);


and this code part for load libraries
   {$IFDEF LINUX} // Firebird 2.5.4 x64
   //LoadLibrary(fb_RootPath + 'lib/libstdc++.so.5.0.7');  No need this 
for me
   LoadLibrary(fb_RootPath + 'libicudata.so.30.0');
   LoadLibrary(fb_RootPath + 'libicuuc.so.30.0');
   LoadLibrary(fb_RootPath + 'libicui18n.so.30.0');
   {$ENDIF}

Need to don't forget to unload libraries. If I'm not wrong this way will 
work on osx as well. I'll write thats result too.

Thank you Petr and Michael.

On 27.08.2015 17:47, Petr Hložek wrote:
> used Firebird a few years ago, I'm not sure what could be wrong. How 
> do you inicialize Firebird? I had to load libraries manually with 
> something like this:
>
>   LoadLibrary(ExtractFilePath(Application.ExeName) + 
> 'lib/libstdc++.so.5.0.7');
>   LoadLibrary(ExtractFilePath(Application.ExeName) + 
> 'lib/libicudata.so.30.0');
>   LoadLibrary(ExtractFilePath(Application.ExeName) + 
> 'lib/libicuuc.so.30.0');
>   LoadLibrary(ExtractFilePath(Application.ExeName) + 
> 'lib/libicui18n.so.30.0');
>   DataBase.DatabaseName := fDataDir + 'cqrlog.fdb';
>   DataBase.UserName := 'SYSDBA';
>   DataBase.PassWord := 'masterkey';
>   DataBase.LibraryName  := ExtractFilePath(Application.ExeName) + 
> 'lib/libfbembed.so.2.1.1';
>
> but I used UIB components. Also had to do some changes to 
> firebird.conf. I'm sorry, don't remeber details :(.
>





More information about the Lazarus mailing list