ProgID-s
and ClassID
This object plays many roles. It can be used just to provide
features not available in the script language or the host (IIS,
ALP etc.) or it can be used as creator under some special
conditions (see COMApartment)
where the objects should be created in certain context.
Extended creation features
The Pack1Creator supports the following ways to create COM
objects:
- Normal COM mechanisms
- Directly from a given DLL (bypassing the registry entries)
- Create composite
objects from definition files
- Using short aliases for the objects supported by
newobjectspack1.dll
- If nothing else helps and class ID is passed direct DLL
creation will be attempted on the own DLL.
What are the benefits of this? Standard COM techniques de
facto require COM DLL to be registered in the system registry.
Although there are some API functions intended to bypass this they
are not accessible for the scripting applications nor they support
enough alternative techniques. On contrary Pack1Creator allows the
applications to create an instance of a COM class by specifying a
DLL and ClassID of a class implemented in it, alias of the classes
implemented in the ActiveX pack1 DLL etc. These features can be
extremely useful for autorun applications which will try to avoid
temporary or permanent registration of any COM components on the
user's system. For more detailed description of the supported
features see CreateObject
method.
The object is also used by the COMApartment
object to allow the application create objects in the created
apartment and not in the main COM apartment where application
runs. This is the only guaranteed solution when multi-threaded
applications are built.
|