AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kann ein externes exe innerhalb der eigenen Anwendung laufen?
Thema durchsuchen
Ansicht
Themen-Optionen

Kann ein externes exe innerhalb der eigenen Anwendung laufen?

Ein Thema von softtouch · begonnen am 10. Aug 2023 · letzter Beitrag vom 12. Aug 2023
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#11

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

  Alt 10. Aug 2023, 16:33
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 nicht freiwillig durchmachen.
Aber zum herumspielen ist es kurze Zeit ganz lustig.

Sherlock
Ja, wenn man es vermeiden kann, dann würde ich es auch nicht tun. Aber manchmal geht es halt nicht anders, bzw. man findet keine andere Lösung. Hier ein Beispiel, der anliegende Screenshot zeigt, wie ein Lazarus-Programm eine Delphi-App integriert, die eine FMX form anzeigt. Es war schon schwierig genug, mit Delphi dafür überhaupt eine Lösung zu entwickeln (Anzeige der FMX-Forms), aber mit Lazarus hätte ich das nicht hinbekommen. Also insofern ist das für mich eine legitime Möglichkeit auch mal solche Wege zu nutzen.
Miniaturansicht angehängter Grafiken
fmx-formapp.jpg  

Geändert von Harry Stahl (10. Aug 2023 um 16:57 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
711 Beiträge
 
Delphi XE5 Professional
 
#12

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

  Alt 10. Aug 2023, 21:52
Hallo,
ich habe mit BTMemoryModule.pas von hier: https://github.com/dsplayer/memorymodule gute Erfahrungen gemacht. Allerdings habe ich damit nur eine DLL als Ressource in eine andere DLL gepackt und die Funktionen der "Huckepack-DLL" benutzen können. Es müßte auch mit einer EXE in EXE funktionieren.
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
skybibo

Registriert seit: 23. Jun 2008
Ort: NRW
22 Beiträge
 
Delphi 12 Athens
 
#13

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

  Alt 11. Aug 2023, 06:35
Hallo Andreas13,

mit solchen Techniken habe ich mich vor einigen Jahren auch mal befasst. Leider beschweren sich dann die meisten Vierenscanner, da solche Techniken auch von Trojanern verwendet werden. Sobald ein solches Programm zum Kunden geht, wird es dann schwierig.

Ich habe deshalb weitere versuche in dieser Richtung aufgegeben.

Gruß Bernd
Bernd
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#14

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

  Alt 11. Aug 2023, 07:46
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.
Ok.
Dann bin ich von der Lösung die einige Zeit Adobe gemacht hat (als die Integration von Adobe Reader im IE im eigenen Delphi-Programm sehr instabil war) und ein früher genutztes ActiveX-Control es gemacht hatte (und dieses zweite ActiveX hat mich einige graue Haare gekostet, bis der Hersteller (big Player mit Mrd-Umsatz) diesen Ansatz stabil hin bekommen hatte.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
711 Beiträge
 
Delphi XE5 Professional
 
#15

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

  Alt 11. Aug 2023, 14:18
...mit solchen Techniken habe ich mich vor einigen Jahren auch mal befasst. Leider beschweren sich dann die meisten Vierenscanner, da solche Techniken auch von Trojanern verwendet werden.
Hallo Bernd,
anfangs hatte ich die Antiviren-Entwickler über die Fehlalarme informiert. Inzwischen ist es mir leid, auf die fehlerhafte Heuristik von Antivirenprogrammen Rücksicht zu nehmen, zumal selbst bei einigen technisch-mathematischen Berechnungsalgorithmen, mit denen ich mich beschäftige, immer wieder (Fehl-)Alarm geschlagen wird. Stattdessen benachrichtige ich die Anwender meiner Programme über diesen Sachverhalt.
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
218 Beiträge
 
Delphi 11 Alexandria
 
#16

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

  Alt 12. Aug 2023, 12:22
Hallo,

sofern es die Eigene Anwendung ist, könnte man doch den Quellcode übernehmen,
und diesen in einen TFrame packen.
Das TFrame läßt sich dann nach belieben in die Anwendung laden und ausladen.

TFrame verwende ich auch in meiner Delphi 7 Anwendung.

Beispiel:
Code:
// in Frame1.pas:
type
  TFrame1 = class(TFrame)
  ...
  end;
end.

// in MainApp.pas:
uses Frame1;
type
  TForm1 = class(TForm)
  public
    MyFrame: TFrame1;
  ...
  end.
...
procedure TForm1.OnCreate
begin
  MyFrame := TFrame1.Create(Panel1);
  MyFrame.Parent := Panel1;
  MyFrame.Align  := alClient;
  MyFrame.Color  := clYellow;
end;
procedure TForm1.OnShow
begin
  MyFrame.Visible := true;
end;
...
- man hat keinen Fenster-Rahmen und keine Titel-Leiste,
- man kann das Embeeded Formular im gleichen Projekt speichern,
- man kann das Formular im gleichen Projekt ändern (im Design).

Hope this helps
paule32
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk (12. Aug 2023 um 12:25 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:26 Uhr.
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