I have a legacy OCX control built in VS2010 and used in a VB6 ActiveX EXE. When I register the debug version of the OCX and try to build it with VB6 I get the error
If I register the Release version then the VB ActiveX EXE container compiles and runs. I've done online search for this error but the results are not very informative. It's not really clear if the error means it can't find the OCX type at all or if there's a type within the OCX interface that VB doesn't support. The error points to the first attempted use of the OCX object in the VB source code.
170 m_SignCaptureForm.SigPlus1.TabletComTest = False
Where SigPlus1 is the OCX object. Looking at the TypeInfo from OLE/COM Object Viewer the only differences I see between the Debug and Release are that all the BOOL return types are defined as char in the Debug version and as VARIANT_BOOL in the Release version.
========OLE/COM Object Viewer TypeInfo for Debug ========
char TabletLCDMode;
[id(0x00000010)
]
=========OLE/COM Object Viewer TypeInfo for Release ========
VARIANT_BOOL TabletLCDMode;
[id(0x00000010)
]
There's nothing in the OCX source code that I can see that would affect these declarations to be different in Debug vs Release. What I am asking is why I'm getting this error and if the cause is the difference in BOOL types whats the remedy for that?
ocx.h: afx_msg BOOL GetTabletLCDMode();
ocx.cpp: DISP_PROPERTY_EX(CSigPlusCtrl, "TabletLCDMode", GetTabletLCDMode, SetTabletLCDMode, VT_BOOL)