Registering the Component
The first step is to create the necessary registry entries so that the COM subsystem can find implementations of the component, with those implementations being the development system launcher stubs. This can be achieved by evaluating an expression similar to the following:
The COMInterfaceImp class>>register method can create the correct registry entries to allow debugging of any component subclass that correctly defines #progId and #clsid methods. In the case of COMRandomStream the following registry entries are created:
Image="<My Documents path>\Dolphin Smalltalk 5.1\Professional.img"
InProcServer32="C:\Program Files\Object Arts\Dolphin Smalltalk 5.1\IPDolphin.dll"
LocalServer32="C:\Program Files\Object Arts\Dolphin Smalltalk 5.1\Dolphin.exe “"<My Documents path>\Dolphin Smalltalk 5.1\Professional.img”””
The first of these are present to map the “friendly” component name to the unique CLSID, and we will ignore them from now on. The InProcServer32 and LocalServer32 are standard entries that specify the location of the component implementations for in-process and out-of-process instantiations respectively.
The InProcServer32 entry specifies the generic, development system, in-process launcher stub DLL. This is augmented by the Dolphin specific Image key, which specifies the path to the image that implements the component (see The Image Key).
The LocalServer32 entry specifies a command line to start the standard Dolphin development launcher stub, passing it the path to the image that implements the component.