Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.154 Beiträge
 
Delphi 12 Athens
 
#4

AW: Mehrere Prozesse in einer "Anwendung"

  Alt 28. Apr 2017, 10:01
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 MSDN-Library durchsuchenSetParent.



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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Apr 2017 um 11:53 Uhr)
  Mit Zitat antworten Zitat