Multi-use components allow other applications to create objects from their classes. 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 own process. Both ActiveX executable and ActiveX DLL components can be multi-use components.
ActiveX code components are libraries of objects that provide an easy way to package code for reuse. ActiveX code components provide functionality to client applications through OLE Automation. Automation makes it possible for one application to manipulate objects implemented in another application. Components can run either in-process or out-of-process. An in-process component, also known as an ActiveX DLL, runs in another application's process. An ActiveX executable executes within its own address space.