[Lazarus] How to add & change application EnvironmentList ?
Petr Hložek
petr at petrhlozek.cz
Thu Aug 27 16:47:29 CEST 2015
I 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 :(.
2015-08-27 16:19 GMT+02:00 FreeMan <freeman35 at delphiturkiye.com>:
> On 27.08.2015 16:25, Petr Hložek wrote:
>
>> My app has also 64bit support and works. I use setenv also in 64bit
>> system but only in linux. Maybe that is the problem. The link I sent
>> before, was from old source code.
>>
>> I use this unit to disable Ubuntu scrollbars using LIBOVERLAY_SCROLLBAR
>> variable. It doesn't use libc unit in uses but loads it directly from so
>> file.
>>
>> https://github.com/ok2cqr/cqrlog/blob/master/src/uScrollBars.pas
>>
>> Petr
>>
> Thank you Petr,
> First link in sourceforge.net, This files and "src" folder not there. I
> founded similar code in some gtk..... file and I tried from that. But this
> last example from your link, and file. setenv function result return 0 If
> I'm not wrong this mean is success. Someting is wrong but what is wrong ? :)
>
> program fb_embed_test;
>
> {$mode objfpc}{$H+}
>
> uses
> {$IFDEF UNIX}{$IFDEF UseCThreads}
> cthreads,
> {$ENDIF}{$ENDIF}
> Interfaces, // this includes the LCL widgetset
> sysutils,
> Forms, Unit1
> { you can add units after this };
>
> {$IFDEF UNIX}
> function setenv(_para1:Pchar; _para2:Pchar;
> _para3:longint):longint;cdecl;external 'libc' name 'setenv';
> {$ENDIF UNIX}
>
> {$R *.res}
> var L : LongInt;
> begin
> L := setenv(PChar('FIREBIRD'),
> PChar(ExtractFilePath(Application.Exename)), 1);
> L := setenv(PChar('LD_LIBRARY_PATH'),
> PChar(ExtractFilePath(Application.Exename)), 1);
> RequireDerivedFormResource := True;
> Application.Initialize;
> Application.CreateForm(TForm1, Form1);
> Application.Run;
> end.
>
>
> and this is for test in unit1
> Memo1.Lines.Clear;
> Application.GetEnvironmentList(Memo1.Lines);
> I can not see that added variables. And can not access fbembeded.
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20150827/09330556/attachment-0003.html>
More information about the Lazarus
mailing list