From: GS on
I have asked similar to this here before and did not get any answers I
could run with. I think the OP intends to provide a 'core' application
that can be further enhanced via addons, either as OP-defined
functions/features OR user-defined functions/features. In the case of
OP-defined, these would be standard addons available from the OP that
have been developed specifically for the target core app. In the case of
user-defined, these would be addons the OP develops for the user
specific to the user's needs. In either case the 'core' app could be
upgraded without affecting the addons.

The scenario might be similar to using a VB-IDE Add-in where, for
example, new menus appear that are tied to procedures within the add-on.
What's required is that our VB6 app is able to 'host' the addons.

Any suggestions will be greatly appreciated!
Kind regards,
Garry

From: Nobody on
Make ActiveX DLL's and let your app read a text file containing their names,
then use CreateObject() to load them. Example:

StockChartAddon1.Class1
StockChartAddon2.Class1
StockChartAddon3.Class1


From: C. Kevin Provance on
"Nobody" <nobody(a)nobody.com> wrote in message
news:eUjNunFrKHA.5896(a)TK2MSFTNGP04.phx.gbl...
| Make ActiveX DLL's and let your app read a text file containing their
names,
| then use CreateObject() to load them. Example:
|
| StockChartAddon1.Class1
| StockChartAddon2.Class1
| StockChartAddon3.Class1

To add to Mystery Man's answer, you're installer for the add on would need
to add that data to the master text to your main app could read it.

Also, if it is your intention to show a form with vbModal, any kind of form
from a different DLL would error out "Only one modal form, etc, etc" because
technically, all those DLLs are in the same process space as your
application.


From: Larry Serflaten on

"C. Kevin Provance" <*@*.*> wrote

> | Or use a standardized information class in each DLL to inform the main
> | app what else is in the library.
>
> First I've seen that suggested. How does that work?

I did something similar with VB4. I'd have to play with it again to
get the specifics on how it all fit together, but from the best of my
recollection:

You'd use LoadLibrary to get the module into your address space
You'd use CreateObject to get the object you wanted to use
You'd release the object(s) and use FreeLibrary when done

If all the add-ins had a class named Info, you could use that class
to give the main app the information needed to use the library
(menu item text, descriptions, class names, etc). I think in my
own project the info class was actually an implemented interface
by a class called 'System' so that all add-ins were accessed in the
same way, as far as getting the info details.

If all the add-ins are deployed to a predetermined location, you
could loop through that folder to pick up the information at
start-up....

LFS


From: David Kaye on
"Henning" <computer_hero(a)coldmail.com> wrote:

>As a lot of others, ship the complete app with parts of it disabled if not
>activated by a new key.

Microsoft finally learned to do that themselves. Last I heard, Windows Vista
and 7 were one CD with various keys to unlock features.