ActiveX Dll

Hi All,

In making an activex DLL, I found there is an option called instancing for us to set.

What is the effect in settting different values for this option.

e.g. Private, PublicNotCreateable, MultiUse & GloablMultiUse.

Please advise. Thanks.
ee_lcpaaAsked:
Who is Participating?
 
danaseamanConnect With a Mentor Commented:
Private means that other applications aren’t allowed access to type library information about the class, and cannot create instances of it. Private objects are only for use within your component.

PublicNotCreatable means that other applications can use objects of this class only if your component creates the objects first. Other applications cannot use the CreateObject function or the New operator to create objects from the class.

MultiUse allows other applications to create objects from the class. One instance of your component can provide any number of objects created in this fashion.
An out-of-process component can supply multiple objects to multiple clients; an in-process component can supply multiple objects to the client and to any other components in its process.

GlobalMultiUse is like MultiUse, with one addition: properties and methods of the class can be invoked as if they were simply global functions. It’s not necessary to explicitly create an instance of the class first, because one will automatically be created.

SingleUse allows other applications to create objects from the class, but every object of this class that a client creates starts a new instance of your component. Not allowed in ActiveX DLL projects.

GlobalSingleUse is like SingleUse, except that properties and methods of the class can be invoked as if they were simply global functions. Not allowed in ActiveX DLL projects.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.