[yunqa.de] Re: BCB XE Error

  • From: Delphi Inspiration <delphi@xxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Mon, 21 Jan 2013 14:41:47 +0100

On 19.01.2013 23:06, roystonjames@xxxxxxxxxxx wrote:

> Is this database not supported when using BCB in XE?

I do not officially support C++ Builder for DISQLite3, even though I
know some developers with more C++ Builder knowledge than me use this
combination for their projects with success.

> I get this error when sropping the database vl on a form.
> 
> [BCC32 Error] DISQLite3Api.hpp(829): E2238 Multiple declaration for 
> '_fastcall ESQLite3::ESQLite3(const int)'
>   Full parser context
>     Unit1.cpp(6): #include Unit1.h
>     Unit1.h(10): #include C:\Comps\BCBXE\DISQLite3\DISQLite3Database.hpp
>     DISQLite3Database.hpp(19): #include 
> C:\Comps\BCBXE\DISQLite3\DISQLite3Api.hpp
>     DISQLite3Api.hpp(24): namespace Disqlite3api
>     DISQLite3Api.hpp(813): class ESQLite3
> [BCC32 Error] DISQLite3Api.hpp(823): E2344 Earlier declaration of '_fastcall 
> ESQLite3::ESQLite3(const int)'
>   Full parser context
>     Unit1.cpp(6): #include Unit1.h
>     Unit1.h(10): #include C:\Comps\BCBXE\DISQLite3\DISQLite3Database.hpp
>     DISQLite3Database.hpp(19): #include 
> C:\Comps\BCBXE\DISQLite3\DISQLite3Api.hpp
>     DISQLite3Api.hpp(24): namespace Disqlite3api
>     DISQLite3Api.hpp(813): class ESQLite3
> 
> public:
> ~__fastcall ESQLite3(const int AErrorCode, const System::UnicodeString 
> AErrorMessage)/* overload */;
> ~__fastcall ESQLite3(const int AErrorCode)/* overload */;
> ~__fastcall ESQLite3(const System::UnicodeString AErrorMessage)/* overload */;
> ~__property int ErrorCode = {read=FErrorCode, nodefault};
> ~__property System::UnicodeString ErrorMessage = {read=FErrorMessage};
> public:
> ~/* Exception.CreateFmt */ inline __fastcall ESQLite3(const 
> System::UnicodeString Msg, System::TVarRec const *Args, const int Args_Size) 
> : Sysutils::Exception(Msg, Args, Args_Size) { }
> ~/* Exception.CreateRes */ inline __fastcall ESQLite3(int Ident)/* overload 
> */ : Sysutils::Exception(Ident) { }

The last line clashes because Delphi apparently get the auto-conversion
from *.pas to *.hpp wrong.

C++ Builder XE compiles the code fine I remove or comment out this very
last line.

As you can see, I could use help to instruct the Delphi compiler to
create the correct translation automatically. Anyone?

Ralf
_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: