I have been banging my head on this problem all night.

Let's say I have a form with 4 ActiveX controls on it. One of the controls
is supposed to cycle through the controls on the form (available through
the Parent.Controls collection of the control) and perform some action on
those controls depending on whether a certain interface is implemented by
the control. How do I do that?

Parent.Controls(i) returns refernces of type Object and I get a type mismatch
error if I set the Object reference to a variable I dimention typed to an
interface I know is implemented by the control. Also, executing a method
or property on a reference to an ActiveX control returned by the Parent.Controls
collection, which I know it supports, results in an error. I have tried
to access properties in the control through the Object property (eg, MyCustomControl.Object.Tag)
but that also causes an error.

I would even settle for simple type information for the controls, but the
type is "Object" and I can't figure out what the watch window seems to figure
out, which is the underlying type (in the watch window the type columns shows
as "Object/MyControlType"). Aargh, frustration.

Any help would be greatly appreciated, Mike.

Oh, and by the way, I don't want to cross post, but no one has answer my
question on VB.API:

Questions:
1. Can TAPI 3.0 be run on systems other than Windows 2000?
2. If it can, is it possible to just copy the TAPI3.dll file and register
it, or are there other dependency files that need to be installed as well?
3. Is there a place I can get info on using TAPI with VB. The Platform SDK
only includes examples of TAPI 3.0 and I might need to use 2.1 as well.