#1 2013-04-11 13:30:07

O.Schwab
Member
From: Montpellier, FRANCE
Registered: 2013-03-29
Posts: 12

EInsufficientRTTI when compiling a DataSnap server using SynDBSQLite3.

Hello,

I'm facing a very strange problem : the script I use to compile my datasnap server (XE2) produce "corrupted' executable since I added  SynDBSQLite3 in reference.

When I compile from IDE, all is OK. When I compile using my script ( msbuild /v:d %DPROJ% /target:MakeAll /p:config=Debug;DCC_ExeOutput="%DESTPATH%" ) , my DataSnap server is 1,5 mb less (SQlite library size ?) and executable hangs on an EInsufficientRTTI exception message on startup.

I compile 32 bits programs on Windows 7 64 bits.

Any clue ?

Ty by advance

Offline

#2 2013-04-11 15:07:14

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,603
Website

Re: EInsufficientRTTI when compiling a DataSnap server using SynDBSQLite3.

I guess this is because we add the option to remove all new RTTI, since our units does not need it, and it increased a lot the executable size.

Try to customize Synopse.inc file by disabling the two following lines:

      {$WEAKLINKRTTI ON}
      {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

For instance, you can add a  . just after the {, as such:

      {.$WEAKLINKRTTI ON}
      {.$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

Offline

#3 2013-04-11 15:22:18

O.Schwab
Member
From: Montpellier, FRANCE
Registered: 2013-03-29
Posts: 12

Re: EInsufficientRTTI when compiling a DataSnap server using SynDBSQLite3.

It works great now !

I' m just at the beginning of the integration of your framework in my company programs, and I would have been worried to abandon it because for that issue !
Keep on doing such a great job, mORMot is really a great piece of software.
I plan to develop an Advantage database layer for your framework once I'll master the main concepts.

Ty very much.

Offline

#4 2013-04-11 15:48:50

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,603
Website

Re: EInsufficientRTTI when compiling a DataSnap server using SynDBSQLite3.

If you have experiment on Advantage Database, it could be great to integrate it to our supported external DB back-ends.

Take a look at the SynDBNexusDB.pas unit (in SynDBDataSet sub-folder) to find out how a database adapter can be written for the ORM part.

Sadly, I do not have experiment with Advantage DB, so I won't be able to do the development.

Offline

Board footer

Powered by FluxBB