Subject RE: [IBO] IBO 46 in BDS 2006 CBuilder personality (BCB2006)
Author Jason Wharton
Does anyone know if there are compiler directives that can be put in the
sources that the compiler will respect when producing the HPP files so that
these manual adjustments are not necessary? I am working on getting the
next sub-release of IBO out and I would like to get it to work with CBuilder
2006.

Jason Wharton


> -----Original Message-----
> From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com]On
> Behalf Of Gary Benade
> Sent: Thursday, February 23, 2006 2:09 AM
> To: IBObjects@yahoogroups.com
> Subject: Re: [IBO] IBO 46 in BDS 2006 CBuilder personality (BCB2006)
>
>
> > Change to Delphi Win32 personality
> > Open IBO40_C2006.bdsgroup
> >
> > for each and every bpl in the group, select
> Options->Linker->Generate all
> > c++Builder files
> >
> > Compile all and install Design components.
> >
> > Switch to CBuilder personality and compoentns should still
> be installed
> >
> > The following changes need to be made
> >
> > comment out line 44 in IB_Header.hpp
> >
> > //typedef short short;
> >
> > change line 3854 to 3593 in IB_Components.hpp (original
> lines commented
> > out
> > below)
> >
> > /* __property Classes::TStrings* SQLSelect = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=1};
> > __property Classes::TStrings* SQLFrom = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=2};
> > __property Classes::TStrings* SQLWhere = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=3};
> > __property Classes::TStrings* SQLGroup = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=4};
> > __property Classes::TStrings* SQLHaving = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=5};
> > __property Classes::TStrings* SQLUnion = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=6};
> > __property Classes::TStrings* SQLPlan = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=7};
> > __property Classes::TStrings* SQLOrder = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=8};
> > __property Classes::TStrings* SQLForUpdate = {read=GetSQLSection,
> > write=SetSQLSection, stored=false, index=9}; */
> > __property Classes::TStrings* SQLSelect[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLFrom[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLWhere[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLGroup[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLHaving[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLUnion[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLPlan[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLOrder[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> > __property Classes::TStrings* SQLForUpdate[TIB_SQLSections index] =
> > {read=GetSQLSection, write=SetSQLSection};
> >
>
> okay, I was having a serious blonde moment. Cancel the above
> and implement
> the following in IB_Components.hpp (original lines are commented out):
>
> /* int __fastcall GetBegPos(TIB_SQLSections AVal);
> int __fastcall GetEndPos(TIB_SQLSections AVal);
> AnsiString __fastcall GetSQLSection(TIB_SQLSections Index);*/
> int __fastcall GetBegPos(int AVal);
> int __fastcall GetEndPos(int AVal);
> AnsiString __fastcall GetSQLSection(int Index);
>
> /* __property int BegPos[TIB_SQLSections index] = {read=GetBegPos};
> __property int EndPos[TIB_SQLSections index] = {read=GetEndPos}; */
> __property int BegPos[int index] = {read=GetBegPos};
> __property int EndPos[int index] = {read=GetEndPos};
>
> // __property AnsiString Section[TIB_SQLSections index] =
> {read=GetSQLSection};
> __property AnsiString Section[int index] = {read=GetSQLSection};
>
> // Classes::TStrings* __fastcall GetSQLSection(TIB_SQLSections Index);
> Classes::TStrings* __fastcall GetSQLSection(int Index);
>
> // void __fastcall SetSQLSection(TIB_SQLSections Index,
> Classes::TStrings*
> Value);
> void __fastcall SetSQLSection(int Index, Classes::TStrings* Value);
>
> The __property declarations were correct.
>
> This is a machine generated header so this should be
> considered a temporary
> fix until I can do some more testing.
>
> Gary