VC++ ActiveX Controls with BCB4

Hey all you BCB gurus out there...

I have been working with Microsoft Visual Studio (I know, pure evil...
:)) for the past several years (currently version 6.0), and have been
using VC++ to create COM objects (using ATL) and ActiveX Controls (using
the ActiveX Control wizard, although I could create them using ATL if
necessary), then using those controls in VB ActiveX controls and

To use the ActiveX Controls I've created, I simply paste them onto my
form in VB, then access them just like any other object pasted onto a
form.  This works with no problem for VB Controls or apps.

However, I have just started working on a BCB4 based project, and the
company I am contracting for requires that at least the main app be in
BCB4.  However, I'm having two separate problems with BCB and ActiveX

First Problem:

I would like to be able to write certain independent controls in VC++.
(Although I see some advantages in Builder, I am much more familiar with
VC++, and I'm on a tight schedule.)  I have one such control
in-progress already.  This control currently does nothing but load a
particular bitmap and display it at a certain zoom/pan in the OnDraw
routine of the control, although it will eventually handle mouse events
and probably generate some ActiveX events of its own.  Anyway, when I
paste this control onto a form in VB or VC++, or into the ActiveX
control container in VC++, it comes up just fine, and I have made a test
app in VB that works and allows me to zoom and pan.

Anyway, I was trying to use Builder to create an equivalent test app
just to make sure everything was working.  I selected "Component/Import
ActiveX Control...", picked my object from the list, choose palette page
"Standard," and selected "Create Unit."  (The "class names:" box had
"TMyControl" displayed, i.e. my control's name with a T in front...)

However, I don't get the icon for my control on the Standard page, (I
tried creating a "Custom" page as well, and selecting that in the
"Import ActiveX Control..." dialog, but the new page never even gets
displayed...) and see no other way of pasting the control onto the form.
At one point in my experimentation, I managed to get a list of the
properties and methods of the control in the hierarchy chart, although I
can't seem to get even that much again.

Anyway, what am I doing wrong on the import?

Second Problem:

So, I decided to try to re-create the control within Builder itself.  I
selected "File/New" and then from the "ActiveX" tab, I chose "ActiveX
Control."  I selected the options I wanted, named the control, and hit
OK.  Up comes an "Error" dialog saying "You must select a VCL class."
However, I didn't want to subclass anything, I wanted a new control; I
figured maybe there was a base TControl or something like that, so I
looked, but none of the choices for "VCL class:" seemed to be what I
need.  (I don't even see a TPicture or anything, although I really need
actual control of the display area, just like in the OnDraw method of a
VC++ ActiveX Control.)

What do I need to do to create a generic ActiveX control in BCB?

Thanks in advance for your help, I've already blown many hours on this
in Builder, and it's something I managed to do almost trivially in
Visual Studio.


Sent via
Before you buy.