#1 2016-05-30 09:10:34

schoene
Member
Registered: 2016-05-30
Posts: 2

Create a package to use in c++ builder

I am trying to create a Mormot package, to be able to use this package in a c++ builder environment. I use Rad Studio XE7 Professional.
note: I have almost no delphi knowledge at all, I am a c++ developer

I have performed following steps:
- Created a base directory 'c:\usr\cbuilder\bpl3p\CrmMormot\'
- Downloaded the latest mormot build, and copied it to 'c:\usr\cbuilder\bpl3p\CrmMormot\Mormot'
- Downloaded sqlite3.obj and sqlite3fts3.obj and copied them to 'c:\usr\cbuilder\bpl3p\CrmMormot\Mormot'
- Create a delphi package in the base directory, and set 'USEPACKAGES' as a global define
- Added SynCommons and SynLZ to the project

upto now, this package compiles fine

I now have added all SQLite3\Mormot*.pas files to the project, except for following files:
-mORMotUI*.pas
-mORMotSelfTests.pas
-Mormot*VCL.pas
-MormotToolbar.pas


When I compile the package, I get following errors:

[dcc32 Error] mORMotBigTable.pas(83): E2037 Declaration of 'EngineRetrieve' differs from previous declaration
[dcc32 Error] mORMotBigTable.pas(87): E2037 Declaration of 'EngineRetrieveBlob' differs from previous declaration
[dcc32 Error] mORMotBigTable.pas(89): E2037 Declaration of 'EngineUpdateBlob' differs from previous declaration
[dcc32 Error] mORMotBigTable.pas(98): E2037 Declaration of 'Create' differs from previous declaration
[dcc32 Error] mORMotBigTable.pas(106): E2037 Declaration of 'EngineDelete' differs from previous declaration
[dcc32 Error] mORMotBigTable.pas(110): E2137 Method 'SearchField' not found in base class
[dcc32 Error] mORMotBigTable.pas(115): E2137 Method 'SearchField' not found in base class
[dcc32 Error] mORMotBigTable.pas(122): E2137 Method 'UpdateField' not found in base class
[dcc32 Error] mORMotBigTable.pas(143): E2034 Too many actual parameters
[dcc32 Error] mORMotBigTable.pas(146): E2003 Undeclared identifier: 'SQLTableName'
[dcc32 Error] mORMotBigTable.pas(148): E2003 Undeclared identifier: 'SQLTableName'
[dcc32 Error] mORMotBigTable.pas(149): E2003 Undeclared identifier: 'SQLTableName'
[dcc32 Fatal Error] CrmMormot.dpk(38): F2063 Could not compile used unit 'mORMotBigTable.pas'

When I remove mORMotBigTable from the package, following errors are given:

[dcc32 Error] SynBidirSock.pas(412): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(460): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(478): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(504): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(504): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(581): E1025 Unsupported language feature: 'Object'
[dcc32 Error] SynBidirSock.pas(707): E1025 Unsupported language feature: 'Object'
[dcc32 Fatal Error] SynSQLite3.pas(1): F2084 Internal Error: GH7136

When I add SynBidirSock to the project, the errors about SynBidirSock are gone, but the SynSQLite3 remains.
When I then add SynSQLite3 to the project, a lot of errors come from Vcl.StdCtrls.pas:

[dcc32 Warning] Vcl.Forms.pas(211): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.Forms.pas(559): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.Forms.pas(946): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.Themes.pas(1663): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.Themes.pas(1734): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ExtCtrls.pas(2164): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ExtCtrls.pas(2225): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ExtCtrls.pas(2317): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ExtCtrls.pas(2343): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(80): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(159): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(508): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(577): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(774): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(885): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(1470): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(1645): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(1767): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(1878): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2101): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2176): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2281): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2326): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2381): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2410): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(2959): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(3204): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(3684): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(4051): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(4408): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(4529): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(4736): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.ComCtrls.pas(4789): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(32): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(49): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(251): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(345): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(436): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(466): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(704): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(759): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(922): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(993): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1064): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1097): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1156): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1270): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1372): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1478): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1555): W1025 Unsupported language feature: 'class constructor'
[dcc32 Warning] Vcl.StdCtrls.pas(1589): W1025 Unsupported language feature: 'class consatructor'
[dcc32 Fatal Error] SynSQLite3.pas(1): F2084 Internal Error: GH7136

Is there some guideline on creating a package, or can somebody guide me in the creation of a package?

Offline

#2 2016-06-03 14:06:55

schoene
Member
Registered: 2016-05-30
Posts: 2

Re: Create a package to use in c++ builder

I come to the same conclusion as described in http://synopse.info/forum/viewtopic.php?id=1473 : I now am able to create a package in delphi (although some pas files generate compiler errors, so these are not possible to use, for example BigTable files), but only when I choose not to create c++ header files.
When want to create c++ header files, a lot of 'unsupported language feature: object' errors occur.

Does this mean I cannot use the mORMot framework with C++ builder? Or is there another way?

Offline

Board footer

Powered by FluxBB