MDO Mercury Compoents not correct run in Lazarus - Delphi is OK. lazarus / 16-Databases ---------------------------------------------------------------------- laguna · 2011-01-29 07:24 I did some tests with the components Mercury. I encountered this problem. The dataset detail in a master dataset does not load the fields of components TDBText. This error is only present in Lazarus, but not in Delphi. So I do not know if the problem is the components of Mercury or Lazarus. I attach two sample projects and one of a delphi lazarus. You wonder if you can do some tests. Thanks ---------------------------------------------------------------------- korba812 · 2011-01-29 14:08 I checked the sample project and everything is working properly. Tested on FPC 2.4.2 / Lazarus svn (26-01-2011) / MDO svn rev 14 ---------------------------------------------------------------------- laguna · 2011-01-29 14:34 I used: - the latest "MDO" 14 - the latest version of Lazarus 0.9.31 svn 29203 for Windows - included in lazarus fpc 2.4.3 If you scroll down the DataSet, the field TDBText which is down does not scroll, remains, but the TDBEdit flows.. ---------------------------------------------------------------------- korba812 · 2011-01-29 14:44 still working fine ---------------------------------------------------------------------- laguna · 2011-01-29 14:58 I'm going to do a test on Mac Leopard 10.6.6 Lazuars last 0.9.31 fpc 2.4.2 Short let you know. I'm on skype xxxxxxxxxxxxxxx Impossible install in MAC error /Developer/lazarus/components/mdo/Source/runtime/MDOEvents.pas(131,59) Error: Call by var for arg no. 6 has to match exactly: Got "LongWord" expected "Pointer"  BeginThread( nil, 8192, @HandleEvent, ptr, 0, ThreadID); ---------------------------------------------------------------------- laguna · 2011-01-29 15:25 I removed Lazarus. I have installed Lazarus with FPC 2.4.2  Lazarus-0.9.31-29240-fpc-2.4.2-20110129-win32.exe I installed MDO 14 I ran the test demo1 TDBText is Ok where is the problem then? or in lazarus fpc? ---------------------------------------------------------------------- korba812 · 2011-01-29 16:15 Good news. I have no experience in programming for Mac OS X. I do not have access to Mac OS X. If you have any problems, please post them on this forum. I'll try to help or maybe someone else will help. QuoteImpossible install in MAC error /Developer/lazarus/components/mdo/Source/runtime/MDOEvents.pas(131,59) Error: Call by var for arg no. 6 has to match exactly: Got "LongWord" expected "Pointer"  BeginThread( nil, 8192, @HandleEvent, ptr, 0, ThreadID);  Remove TMDOEvents component from the package and try again. This component is not working and needs rewriting. Quote from: laguna on January 29, 2011, 04:25:32 pmI removed Lazarus. I have installed Lazarus with FPC 2.4.2  Lazarus-0.9.31-29240-fpc-2.4.2-20110129-win32.exe I installed MDO 14 I ran the test demo1 TDBText is Ok where is the problem then? or in lazarus fpc? I'll try the FPC 2.4.3 ---------------------------------------------------------------------- laguna · 2011-01-29 16:33 I did some tests: - fpc 2.4.2 ok - fpc 2.4.3 not ok - fpc 2.5.1 not ok Then the problem is to FPC. You should report this to the workgroup of fpc. But this is not in my ability ---------------------------------------------------------------------- korba812 · 2011-03-07 19:17 The problem is in the TDataSet.EnableControls (bug 16428 and 18881) You can work around this problem commenting line 3625 and 3638 of MDOCustomDataSet.pas (EnableControls / DisableControls in RefreshParams method) http://www.lazarus.freepascal.org/index.php/topic,11881.msg63266.html# msg63266 ---------------------------------------------------------------------- inforplasta · 2012-06-30 22:40 I'm trying to use MDO on OS/X too. I've compiled package, but I've got "Firebird Client library not found in the path" when trying to use. I think I need a symbolic link /usr/lib/libfbclient.so, but... what is the library file to link? Thanks ---------------------------------------------------------------------- ludob · 2012-07-01 06:25 QuoteI think I need a symbolic link /usr/lib/libfbclient.soOn MacOSX, shared libraries have the extension .dylib. In MDOHeader.pas line 40 replace Code: [Select]  {$IFDEF UNIX}   FBASE_DLL_GDS32 = 'libgds32.so';   FBASE_DLL_FBCLIENT= 'libfbclient.so';   FBASE_DLL_FBEMBED = 'libfbembed.so';   {$ELSE} with Code: [Select]  {$IFDEF UNIX}   FBASE_DLL_GDS32 = 'libgds32.'+sharedsuffix;   FBASE_DLL_FBCLIENT= 'libfbclient.'+sharedsuffix;   FBASE_DLL_FBEMBED = 'libfbembed.'+sharedsuffix';   {$ELSE} There is also the FBASE_CURRENT_DLL: string;  global var defined in MDOHeader that you can use to force the library name before connecting to the database. Edit: sharedsuffix is defined in dynlibs which you need to add to the uses clause with an {$IFDEF UNIX},dynlibs{$ENDIF UNIX} ---------------------------------------------------------------------- inforplasta · 2012-07-01 10:30 Thank you ludob I finally have changed MDOHeader.pas like this: Code: [Select]{$IFDEF UNIX}   {$IFDEF DARWIN}   FBASE_DLL_FBCLIENT = '/Library/Frameworks/Firebird.framework/Firebird';   {$ELSE}   FBASE_DLL_FBCLIENT = 'libfbclient.so';   {$ENDIF} ... ... {$ELSE} ... I think this could be included in MDO. This way there is no need to create symbolic link. ---------------------------------------------------------------------- ludob · 2012-07-01 11:02 Code: [Select]  FBASE_DLL_FBCLIENT = '/Library/Frameworks/Firebird.framework/Firebird'; Hard-coding library paths is never a good idea.  Did my suggestion not work for you? On my 10.5.7 libfbclient.dylib is also installed as a symlink in /usr/local/lib which is in the normal ld library path. ---------------------------------------------------------------------- inforplasta · 2012-07-03 18:02 Hi again ludob /usr/local/lib/libfbclient.dylib is not created by standard Firebird install (at least with Firebird 2.0, OS/X 10.7.4). Thats why I choose to modify MDOHeader. The other option makes me to create symlink by hand at each machine. (it could be a lot of them) Perhaps the best option could be: to look for the symlink as the first choice, and if it is not found, look for the default installation file. Thanks for your help