![]() |
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: |
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.
|
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 :?: |
Re: Aus Dll Exe Instanz starten und Parameter übergeben
Warum schelifst du die Parameter nicht 1:1 durch?
|
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 |
Re: Aus Dll Exe Instanz starten und Parameter übergeben
ja so in etwa hatte ich das gemeint. Dürfte die einfachste Möglichkeit sein.
|
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 :?: |
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 ... |
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: |
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. |
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