
(Slightly OT) General ActiveX information?
See inline.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
Quote:
> >You won't find much about ActiveX because that is a fictitious term.
> >What it means is usually either ActiveX Controls or Automation.
> >(Some mean the COM DLLs produced by VB, BTW...) So don't bother
> >looking further...
> Hmmmmm. Always nice to know that a term doesn't really mean anything.
> I remember making the same discovery about Java Beans about 4 years
> ago - killing myself reading white papers & specs to answer the
> question "What IS a bean" - then determining that basically there's no
> such thing.
> I guess then that what I care about are ActiveX controls. I assume
> this is a term with some meaning, inasmuch as browsers are going to
> download & maniuplate them in some defined away. Is there somewhere to
> learn about this?
Virtually every ATL book on the market explains ATL's support for ActiveX
Controls (which is pretty decent BTW). If you are interested in knowing
the real technology behind though, they'll fall short. The literature on
the theory is very scarce. Read chapters 17-24 of "Inside OLE" and
chapters 2-3 of "ActiveX Controls Inside Out". "Inside OLE" is on MSDN
library, as for the other book - it's probably out of print too, so look
at used books stores (or online :) ). (Note, the second books is mostly
crap, but it does cover the technology quite decently in the two chapters
I mentioned...) "Inside OLE" describes mostly OLE embedded/linked
objects, but that is the root of ActiveX Controls (they are in-place
activated OLE objects) whose former name was OLE Controls. You have
to understand the concepts of hosting, siting, activation, persistence, etc
in order to understand ActiveX Controls...
Quote:
> >You can achieve code reuse on the source level as well - no need
> >to go binary. All you have to do is bundle all the top-level controls
> >in a single DLL (as MS did with the common controls for example).
> >Then the whole arsenal of C++ is at your disposal. I usually
> >recommend source code reuse over COM binary reuse.
> This sounds like a good idea that I would understand if I were better
> at this stuff. I *think* what you're saying is that I can go ahead and
> compile all my components - top level, low level, whatever - and link
> them in to one DLL. Is that so? If so, I guess there'd be some
> ugliness regarding DllGetClassObject, and all the Dll... functions for
> that matter. Or did you mean something else?
ATL is handling the object maintenance for you. You can have as many
ATL objects in a single project as you want... (on a second thought, may
be not _that_ many :)...)
Quote:
> >For the last question - you may be interested in the so called
> >Browser Helper Objects (BHO) in IE 4 and above. Search on MSDN
> >and you'll find some articles...
> Sounds neat. It looks like some of the work I'll be doing will be
> strictly IO, so I might be able to get into this.
> Thanks Alexander!
> - Chris