Board index » cppbuilder » Error E2352 Migrating from BCB5 to BDS2006

Error E2352 Migrating from BCB5 to BDS2006


2007-12-18 06:49:11 AM
cppbuilder95
After converting an OCX project created with BCB5 into BDS2006 C++, I'm
receiving the following error:
[C++ Error] atlcom.h(1877): E2353 Class 'CComObject<TSepSys_GIXImpl>' is
abstract because of '__stdcall ISepSys_GIX::get_Visible(short*)=0'
The project compiles and links without errors using BCB5. I'm using update 2
of BDS2006. Any suggestions?
Thanks,
Roberto
 
 

Re:Error E2352 Migrating from BCB5 to BDS2006

"Roberto Meneghini" < XXXX@XXXXX.COM >wrote in message
Quote
After converting an OCX project created with BCB5 into BDS2006 C++,
I'm receiving the following error:
The error is self-explanitory. Your TSepSys_GIXImpl class does not
implement the get_Visible(short*) method that is declared in the ISepSys_GIX
interface.
Gambit
 

Re:Error E2352 Migrating from BCB5 to BDS2006

Thanks for the prompt response. However, as I mentioned in the previous
message, the project compiled without problems on BCB5. I double-checked
that all the files were migrated into the updated project. Following please
find and excerpt of the source code where the conflicting function is
declared and implemented. Please let me know if you need further information
Regards,
Roberto
// *********************************************************************//
// Interface: ISepSys_GIX
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {85394B7E-3C85-4F36-9C69-79A9866D0989}
// *********************************************************************//
interface ISepSys_GIX : public IDispatch
{
public:
virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL*
Value/*[out,retval]*/) = 0; // [1]
:
:
#if !defined(__TLB_NO_INTERFACE_WRAPPERS)
VARIANT_BOOL __fastcall get_Visible(void)
{
VARIANT_BOOL Value;
OLECHECK(this->get_Visible((VARIANT_BOOL*)&Value));
return Value;
}
"Remy Lebeau (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote

"Roberto Meneghini" < XXXX@XXXXX.COM >wrote in message
news:4766fce5$ XXXX@XXXXX.COM ...

>After converting an OCX project created with BCB5 into BDS2006 C++,
>I'm receiving the following error:

The error is self-explanitory. Your TSepSys_GIXImpl class does not
implement the get_Visible(short*) method that is declared in the
ISepSys_GIX
interface.


Gambit


 

{smallsort}

Re:Error E2352 Migrating from BCB5 to BDS2006

Just to let you know that I figured out the problem. During the conversion,
TOLEBOOL was changed to VARIANT_BOOL in the TLB but not in the
implementation. Once I changed everything to VARIANT_BOOL, the compilation
error went away.
Regards,
Roberto
"Remy Lebeau (TeamB)" < XXXX@XXXXX.COM >wrote in message
Quote

"Roberto Meneghini" < XXXX@XXXXX.COM >wrote in message
news:4766fce5$ XXXX@XXXXX.COM ...

>After converting an OCX project created with BCB5 into BDS2006 C++,
>I'm receiving the following error:

The error is self-explanitory. Your TSepSys_GIXImpl class does not
implement the get_Visible(short*) method that is declared in the
ISepSys_GIX interface.


Gambit

 

Re:Error E2352 Migrating from BCB5 to BDS2006

"Roberto Meneghini" < XXXX@XXXXX.COM >wrote in message
Quote
Just to let you know that I figured out the problem. During the
conversion, TOLEBOOL was changed to VARIANT_BOOL in the TLB but not in
the implementation. Once I changed everything to VARIANT_BOOL,
the compilation error went away.
Borland started moving away from using "smart" parameter types in TLB
declarations in BCB 6.
Gambit