Du kannst per AcriveX entweder die
COM-Objecte innerhalb deiner Anwendung laufen (In-Process) lassen
oder sie in einer externen Anwendung (Out-of-Process) laufen lassen.
https://msdn.microsoft.com/en-us/lib...(v=vs.60).aspx
*
COM-Objekt in einer
DLL
**
DLL im eigenen Programm/Process geladen (In-Process)
**
DLL in einem externen Programm geladen (Out-of-Process)
*** hier sind dir vielleich schon Processe wie die DLLHost.exe aufgefallen
*
COM-Objekt in einer eigenen EXE (Out-of-Process)
Für dich wären also die Varianten mit Out-of-Process von Interesse.
Man kann auch in der
VCL die Processe komplett unabhängig lassen, mit dem anderen Prozess via
IPC quasseln (ihn steuern)
und dann dessen Fenster (am Besten ohne Rahmen/Titelleiste) bei sich in ein Panel/PageControl einbinden
SetParent.
Der Aufwand lohnt sich nur, wenn man vorallem den Arbeitsspeicher trennen will
und sich davor schützen will, wenn sich Fehler nicht per Try-Except mehr abfangen lassen, weil z.B. "alles" kaputt ist. (Stack und fremder Speicher zerschossen > Bufferoverflow)
Oder bei zu wenig Speicher in 32-Bit-Anwendungen, wenn man den Speicher nicht besser verwalten