Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aus Dll Exe Instanz starten und Parameter übergeben (https://www.delphipraxis.net/80246-aus-dll-exe-instanz-starten-und-parameter-uebergeben.html)

etom291272 5. Nov 2006 19:21


Aus Dll Exe Instanz starten und Parameter übergeben
 
Hallo Gemeinde

Ich möchte folgendes Lösen:
Aus einer 4GL Programmiersprache wird eine dll von mir aufgerufen der aus der 4GL Sprache mehrere Parameter unterschiedlicher Typen (keine objekte nur strings, zahlen) übergeben werden.
Ich möchte nun in der DLL aus diesem Parametern ein Record oder Objekt erzeugen.
Die Dll soll nun eine Instanz einer Exe starten und genau diesen Record oder Objekt an die Exe übergeben.

Zum besseren Verständnis schematisch

4GL ruft dll Funktion mit mehreren Paramtern auf->
Dll arbeitet diese Paramter ab und erzeugt ein Record (oder schöner Objekt)
Dll Startet Exe Anwendung und übergibt Record (bzw Objekt) und kehrt in die 4GL Anwendung zurück
4GL Anwendung läuft weiter
Exe läuft als eigene Instanz im eigenständigen Fenster und bearbeitet dan übergebenen Record bzw. Objekt

welche möglichkeiten gibt es da bin gespannt auf vorschläge
Danke an alle die sich gedanken machen

:arrow: über zwischendateien zu gehen möchte ich vermeiden
:dp:

mkinzler 5. Nov 2006 19:25

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
Dein Problem wird sein, daß die Dll keine Exe mit einem Record/Objekt aufrufen kann, du mußt also die Parameter an die Exe übergeben und diese dann den Record/das Objekt erzeugen lassen.

etom291272 5. Nov 2006 19:28

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
das das möglich ist, ist schon klar ich muß aber vorher über die dll gehen

eine möglichkeit die mir einfallen würde wäre das record in einen memorystream und diesen in einem memory mapped file zu speichern daß von der exe wieder ausgelesen wird.

ich habe aber gehofft daß es vielleicht möglich ist einen zeiger auf den erzeugten record zu übergeben
oder so ähnlich

weitere ideen :?:

mkinzler 5. Nov 2006 19:29

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
Warum schelifst du die Parameter nicht 1:1 durch?

etom291272 5. Nov 2006 19:31

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
meinst du 1:1 über die stringliste die man im programmaufruf übergeben kann :?:

MeineAnwendung.exe bla blub huh 1234

mkinzler 5. Nov 2006 19:32

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
ja so in etwa hatte ich das gemeint. Dürfte die einfachste Möglichkeit sein.

etom291272 5. Nov 2006 19:35

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
diese möglichkeit habe bis jetzt gewählt wenn ich sowas brauchte aber erstens ist man auf strings begrenzt und ich finde es einfach unschön und unsauber 20 Parameter oder so in son einer schlange zu übergeben.

weitere meinungen :?:

mkinzler 5. Nov 2006 19:39

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
Man ist nicht unbedingt auf Strings beschränkt, man kann ja die anderen typen casten :mrgreen:
-Du könntest auch das Programm starten und ihm dann die Werte senden.
-Das Programm COM-fahig machen
...

etom291272 5. Nov 2006 19:52

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
Das Programm COM-fahig machen
was meinst du damit (bitte ein wenig genauer)

ist es nicht einfach möglich einen zeiger auf ein record zu übergeben :?: :wall:

etom291272 6. Nov 2006 13:44

Re: Aus Dll Exe Instanz starten und Parameter übergeben
 
habe jetzt ein wenig experimentiert und herausgefunden daß zeiger nur innerhalb eines prozesses gültig sind.

ich habe aber in anderen threads gelesen daß sowas ähnliches gemacht wurde, bin für jeden lösungsansatz dankbar

:zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Seite 1 von 2  1 2      

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