In-Process vs. Out-of-Process ActiveX Controls

TerraExplorer exposes both in-process and out-of-process ActiveX controls:

§   ITE3DWindow and ITEInformationWindow – When instantiated, these components are created as in-process DLL COM objects, i.e., they are loaded into the same executable as the host application. In-process objects enjoy the advantage of faster in-process COM communication with the host application. They also share resources with the host application, e.g. memory and CPU. Their main constraint is that the host application must be 64-bit, to allow the TE 64-bit DLL’s to be loaded into the same application.

§   ITE3DWindowEx and ITEInformationWindowEx – When instantiated, these components are created as standalone out-of-process COM executables (one for each ITE3DWindowEx). This offers two main advantages: it enables the creation of multiple 3D windows in the same application (including one regular ITE3DWindow, and multiple 3DWindowEx’s), and supports hosting by both 64-bit and 32-bit (i.e., Internet Explorer) applications. The downside of out-of-process objects is that COM communication may be slower when handling intensive calls and events.