ActiveX/OLE/whatever

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ActiveX/OLE/whatever

Steve Zara
I know almost nothing about the technical details of ActiveX/OLE or the
APIs.  I have been writing a small Dolphin 3 app that remotely controls
another windows application (PowerPoint).  What I had hoped with Dolphin 4
is that I could run such an application embedded within a Dolphin view
(like when you do 'Insert Object' in other Windows programs).  I don't
understand the difference between an ActiveX object and an ActiveX
control:  why is the list of controls available in the ActiveX control
brower in Dolphin smaller than the list of objects I get when I use
'Insert object' in, for example, Word?

Steve Zara


Reply | Threaded
Open this post in threaded view
|

Re: ActiveX/OLE/whatever

Blair McGlashan
Steve

You wrote in message news:[hidden email]...
>... I don't
> understand the difference between an ActiveX object and an ActiveX
> control:  why is the list of controls available in the ActiveX control
> brower in Dolphin smaller than the list of objects I get when I use
> 'Insert object' in, for example, Word?

The terminology is indeed very confusing, not least because of the name
changes that the marketing team at Microsoft have seen fit to foist upon us
over the years. We have COM, OLE and Active-X. One can never be quite sure
which is what since the boundaries are blurred.

The difference you are particularly concerned with is between "Insertable
Objects" and "Active-X Controls". The former are part of the original OLE
technology, and are really designed for use with compound documents. This is
a pretty heavyweight technology that allows embedded objects to be fully
in-placed activated such that they take over the host application with the
full glory of in-place activation, modifying menus, toolbars, etc. Compound
document technology was fashionable at one time, and is perhaps appropriate
for office applications, which are document oriented, and is best
exemplified by Word I suppose. This bit of OLE is hugely complicated, and
is, I think, what people are really referring to when they describe COM as
complicated - fundamentally COM isn't complicated, but some of the
technologies layered on top of it are.

Active-X controls, which used to be called OLE Controls or OCXs, are a much
lighter weight in-place activated object that keep themselves to themselves
rather more. They share a lot of common interfaces with full OLE insertable
objects, and add a few of their own. Supporting them is still quite complex,
but it is simpler than full blown OLE since many of the OLE interfaces need
only be partially implemented.

Dolphin does not support the full glory of in-place activated embedded OLE
objects, but it does support non-visual Active-X/COM objects (good examples
are ADO and MSXML), and, in 4.0, visual Active-X Controls/OCXs. Many
"Insertable Objects" can, however, be treated as controls, or are designed
to also work as controls. Those that are not can be automated externally,
i.e. running in their own windows instead of being "in-place" activated.

Does that help?

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: ActiveX/OLE/whatever

Steve Zara
"Blair McGlashan" <[hidden email]> writes:

>Dolphin does not support the full glory of in-place activated embedded OLE
>objects, but it does support non-visual Active-X/COM objects (good examples
>are ADO and MSXML), and, in 4.0, visual Active-X Controls/OCXs. Many
>"Insertable Objects" can, however, be treated as controls, or are designed
>to also work as controls. Those that are not can be automated externally,
>i.e. running in their own windows instead of being "in-place" activated.
>
>Does that help?

Well, it shows me how complicated it all is!   I guess what I am
after is a very basic form of 'in-place' activation.

I want to control an application, but with my application intercepting
all key presses and mouse clicks.  I had assumed that having the OLE thing
within my own application window would help with this.  Now I'm not so sure!

Thanks anyway!

Steve
>
>Regards
>
>Blair
>
>