AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Funktionen in EXE-Datei exportieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktionen in EXE-Datei exportieren

Ein Thema von greenmile · begonnen am 25. Apr 2003 · letzter Beitrag vom 26. Apr 2003
Antwort Antwort
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Funktionen in EXE-Datei exportieren

  Alt 25. Apr 2003, 14:34
Hallo zusammen,

mal eine Frage an die Spezies. Vorab: Weiss nicht, ob's hier rein passt Also, ich exportiere in einer EXE Datei Funktionen. Soweit, so gut. Nun möchte ich diese exportierten Funktionen von einer anderen EXE Datei aufrufen und dabei knallt's. Das Problem ist, dass "OnCreate" und co niemals durchlaufen werden. Kann ich das irgendwie umgehen? Oder habe ich etwas übersehen? Nutze nur "LoadLibrary(PChar(ProgramFile))" und "GetProcAdress".

Paul
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#2
  Alt 25. Apr 2003, 14:46
Wenn ich Dich jetzt nicht falsch verstanden habe, muss ich Dich jetzt Fragen warum Du Die Funktionen nicht in einer DLL exportierst ?
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3
  Alt 25. Apr 2003, 14:50
Weil ich alles in einer Steuerapplikation habe. Ich möchte die Hauptanwendung API-fähig machen, ohne dass die eigentliche Anwendung externe DLL's nutzen muss. Bin nicht so sehr von von x-Dateien
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4
  Alt 25. Apr 2003, 15:09
Auch wenn das PE-Format es zulässt, ist der Export von Funktionen nicht für exe-Dateien gedacht, denn ein LoadLibrary auf exe-Dateien führt diese aus.
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#5
  Alt 25. Apr 2003, 15:22
Natürlich ist es nicht gedacht aber für mich die einfachste Möglichkeit, Funktionen zu exportieren ohne extra eine neue DLL zu schreiben. Das Problem ist aber, dass LoadLibrary die EXE eben nicht startet. Ich kann auf die Funktionen zurückgreifen, jedoch stehen die in keinem Zusammenhang mit der Hauptform. Demnach wird also die Hauptform nicht erstellt bzw. Application.CreateForm nicht aufgerufen. Habe ja schon versucht, in der exportierten Funktion "Application.CreateForm" selbst aufzurufen ... ist aber übelst in die Hose gegangen.

Gibt es nicht irgendeinen Trick oder so?

Paul
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#6
  Alt 25. Apr 2003, 17:19
Hallo,

schau mal ...eine Wav Datei in eine Exe Datei einbinden?
und ...Daten an eine kompilierte Exe-Datei anhängen? bei den Schweizern (swissDelphicenter.ch).

Allerdings wird hier das PE-Format mißbraucht, die Jedis machen es etwas besser, glaube ich.

[EDIT] Ups, Du schreibst FUNKTIONEN, und ich meine Daten, ojeh!!
Wird wohl nicht passen? [/EDIT]
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#7
  Alt 26. Apr 2003, 12:27
Nun, ich denke der vorgesehene Weg ist hier DCom (Interfaces).

Irgendwelche Tricks richen für mich dann immer nach Problemen ohne Ende, wenn das überhaupt irgendwie geht.
Dll's werden in den Prozeßraum des ausführenden Programmes geladen, exe's werden das nicht, und dann muß es knallen, weil die Adressen im Prozeßraum des aufrufenden Programmes gar nicht gültig sind.

Deswegen benötigt COM, DCOM COM+ ja die Stub/Proxy Mechanismen ...

Der Trick ist dann diese Mechanismen auch zu verwenden.

Grüsse
Wolfgang
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#8
  Alt 26. Apr 2003, 14:43
Hmmmm. Problem ist nur dass ich nicht weiss, wie ich nachträglich eine bestehende EXE korrekt als DCOM Server ausstatten kann.
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#9
  Alt 26. Apr 2003, 15:46
also,

Datei|Neu|Weitere|ActiveX|Automationsobject

Aufgrund der Delohi-Unterstützung ist das weitere jetzt nicht viel Arbeit, aber ein wenig mit der Materie beschäftigen wird man sich jetzt schon noch müssen...

Grüsse
Wolfgang
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:12 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