AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Prozess in einen anderen 'hineinrendern'
Thema durchsuchen
Ansicht
Themen-Optionen

Prozess in einen anderen 'hineinrendern'

Offene Frage von "Der schöne Günther"
Ein Thema von Der schöne Günther · begonnen am 22. Mai 2013 · letzter Beitrag vom 22. Mai 2013
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Prozess in einen anderen 'hineinrendern'

  Alt 22. Mai 2013, 12:49
Ich habe eine Hauptanwendung und weitere optionale Bestandteile die als eigene Prozesse realisiert wurden. Momentan ist es so einfach, dass die Plugin-Bestandteile
  • auf dem selben System,
  • im gleichen Account,
  • und sogar Kindprozesse des Hauptprogramms
sind.

Das Hauptprogramm ist immer sichtbar und stellt einen Bereich zur Verfügung, in welchem die Plugins dargestellt werden sollen. Ganz grob einmal so wie im Anhang.

Bislang habe ich einfach das entsprechende Fenster des Plugins zum Kindfenster des Hauptprogramm-Fensters gemacht:
Delphi-Quellcode:
if SetParent(
   <Plugin-HWnd>,
   <Hauptprogramm-HWnd>
)=0 then
   logError();

if not SetWindowPos(
   <Plugin-HWnd>,
   HWND_TOP,
   640,
   8,
   0,
   0,
   SWP_FRAMECHANGED or SWP_NOSIZE or SWP_SHOWWINDOW //or SWP_NOMOVE
) then
   logError();

Das funktioniert eigentlich super. Ich frage mich nur,
  1. ob ich das richtig gemacht habe oder es bessere Wege gibt
  2. Was ich dagegen tun kann, dass das Hauptprogramm-Fenster mit einfriert, wenn es das Kindfenster tut!

Ich habe mir spaßeshalber auf der Oberfläche des Plugins einen Button mit sleep(5000) gelegt: Die Oberfläche des Plugins friert ein, die Hauptanwendung läuft weiter, die grafische Oberfläche wird auch weiterhin aktualisiert. Klicke ich nun irgendwo auf die Oberfläche des Hauptprogramms, wird diese auch nicht weiter aktualisiert.

Warum?
Ich lese immer von Multiple Document Interfaces, aber das scheint irgendwie auch eher eine Weltanschauung, als eine konkrete Menge an WinAPI-Befehlen zu sein, oder?
Angehängte Grafiken
Dateityp: png Ist das so etwas wie MDI.png (3,5 KB, 35x aufgerufen)

Geändert von Der schöne Günther (22. Mai 2013 um 12:52 Uhr) Grund: Liebevoll gezeichnetes Bild
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz