Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kann ein externes exe innerhalb der eigenen Anwendung laufen? (https://www.delphipraxis.net/213517-kann-ein-externes-exe-innerhalb-der-eigenen-anwendung-laufen.html)

softtouch 10. Aug 2023 12:41

Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Kann ein externes program innerhalb der eigenen Anwendung laufen, "embedded" style?
Sagen wir mal, ich habe eine Form offen, nun möchte ich ein externes exe starten, welches keinen Border oder Titlebar hat, und das in meiner Form "embedded" öffnet. Geht das?

Bernhard Geyer 10. Aug 2023 13:30

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Mit Tricks bekommt man sowas hin.
AFAIK machen das alle modernen Browser unter Windows auch.
Die Aufwände sollte man nicht unterschätzen.

Sherlock 10. Aug 2023 13:36

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Es gibt da Möglichkeiten, aber insgesamt gibt es einige Nachteile bei der anschließenden Bedienung.
https://www.delphipraxis.net/131386-...nem-panel.html
https://www.delphipraxis.net/125943-...-anzeigen.html
https://www.delphipraxis.net/184656-...einbinden.html

Sherlock

Der schöne Günther 10. Aug 2023 14:17

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Tu es nicht.

Siehe
https://stackoverflow.com/q/16817112/2298252

himitsu 10. Aug 2023 14:29

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Per se sind EXE und DLL im selben Format generiert.

Ich kann also eine EXE wie eine DLL laden ... aber was den StartCode betrifft (also das was im Begin/End der DPR steht), da muß man aufpassen, dass er zur Funktion passt.



Zitat:

Zitat von Bernhard Geyer (Beitrag 1525477)
AFAIK machen das alle modernen Browser unter Windows auch.

Die Browser machen es eher andersrum, also viele Teile (z.B. jeden einzelnen / mehrere Tabs) in eigene Prozesse auslagern, aber es dennoch innerhalb der Hauptform anzuzeigen.




Bei zwei VCL-Anwendungen, kommt es drauf an wie es geladen wird.
* man könnte die beiden VCLs in unterschiedlichen Threads laufen lassen (also die DLL-EXE in einem Thread laden)
* oder es kann/gibt teilweise Probleme, wenn die Mainloop der einen EXE/VCL die Messages der anderen VCL verarbeitet, aber dort dann die falschen VCL-Funktionen ausgeführt werden.

z.B. gibt es in der MessageLoop der VCL If-Thens, welche auf ShortCuts reagieren, aber da läuft dann die Funktion der einen VCL, welche aber die ShortCuts der anderen VCL nicht kennt.

himitsu 10. Aug 2023 14:31

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
[dupclicate]

Harry Stahl 10. Aug 2023 14:35

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Zitat:

Zitat von softtouch (Beitrag 1525475)
Kann ein externes program innerhalb der eigenen Anwendung laufen, "embedded" style?
Sagen wir mal, ich habe eine Form offen, nun möchte ich ein externes exe starten, welches keinen Border oder Titlebar hat, und das in meiner Form "embedded" öffnet. Geht das?

Ja, das geht, ich habe es hier (https://www.devpage.de/blog/firemonkey.htm) mal beschrieben, wie man eine FMX-App in einer VCL-Form laufen lassen kann, aber es geht natürlich auch VCL-App in VCL-App.

softtouch 10. Aug 2023 15:55

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1525483)
Zitat:

Zitat von softtouch (Beitrag 1525475)
Kann ein externes program innerhalb der eigenen Anwendung laufen, "embedded" style?
Sagen wir mal, ich habe eine Form offen, nun möchte ich ein externes exe starten, welches keinen Border oder Titlebar hat, und das in meiner Form "embedded" öffnet. Geht das?

Ja, das geht, ich habe es hier (https://www.devpage.de/blog/firemonkey.htm) mal beschrieben, wie man eine FMX-App in einer VCL-Form laufen lassen kann, aber es geht natürlich auch VCL-App in VCL-App.

Cool, werde ich mir mal ansehen, vielen Dank!

Sherlock 10. Aug 2023 16:04

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
Da es wohl überlesen wurde, zitiere ich mich mal selbst und kann auch Günthers Beitrag nur fett unterstreichen:
Zitat:

Das Problem daran ist, das Du Dir damit die Hölle auf Erden (in Windows) schaffst. Folgendes funktioniert danach nicht mehr wie erwartet:
  • Dialoge des eingefangenen Programms sind nicht modal gegenüber der Host-Applikation, sie können also "versehentlich" in den Hintergrund geklickt werden, und damit hängt alles
  • Tooltips werden nicht mehr angezeigt
  • Resize-Events werden unzuverlässig bemerkt
  • Unter Umständen wird der Windows-Style ignoriert (habe ich aber nur selten gesehen)
Und das ist nur die Spitze des Eisbergs. Da gibt es noch so viele kleine Problemchen, die folgen - das will man einfach nciht freiwillig durchmachen.
Aber zum herumspielen ist es kurze Zeit ganz lustig.

Sherlock

TigerLilly 10. Aug 2023 16:31

AW: Kann ein externes exe innerhalb der eigenen Anwendung laufen?
 
kbmMW Remote Desktop von Components4Developers sollte uA die Funktionen habenb, damit du das machen kannst. Aber die Seite ist zZ down.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz