Hallo,
kennt jemand eine Möglichkeit, Werte aus einer .exe in eine andere Applikation zu übergeben? Vielleicht so, wie man es sonst mit einer globalen Variablen macht?
Für eine Applikation muss ich zeitgleich auf die gleichen dlls zugreifen. Da der Zugriff auf die dlls über eine Schnittstellen-dll auf die eigentlichen dlls passiert, kann ich keine verschiedenen Pfade für die dlls erzeugen und sehe keine andere Möglichkeit, als zwei verschiedene Applikationen zu erzeugen, mit lokal gespeicherten dlls?
Eine "Übergabe" der Werte von der einen Applikation in die Andere mittels Textfiles scheint mir nicht ganz optimal
Mistele
Kannst Du das nochmal anders erklären.:bahn:Warum willst Du zwei Applikationen erstellen mit zwei Kopien der DLLs um dann doch wieder zwischen diesen Applikationen Interapplikationskummunikation zu tun????
Zur Interapplikatonskommunikation selber. Da gibt es verschiedenen Varianten:
1) Files wie von Dir schon angegeben
2) DDE (nein bitte nicht!!!!!)
3) Shared Memory (verlangt das Aufrufen von Windows APIs und damit eigentlich die Erstellung einer DLL)
4) TCP/IP (meine bevorzugte Methode)
4a) Shared Variables (basiert intern auf TCP/IP)
4b) Data socket (der Vorgänger der Shared Variables)
4c) Super Shared Variables (wahrscheinlich die nächste Technologie von NI um das gleiche noch einmal anders zu machen
)
Rolf Kalbermatter
Hallo mistele,
(nach der Anpassung auf das Posting von rolfk wären folgende Fragen offen)
ist die *.exe von Dir ?
Welche Schnittstellen stellt diese bereit?
Was für Daten sollen ausgetauscht werden?
Wie schnell soll das ganze geschehen?
Warum getrennt?
Wofür dieser Aufwand?
Hallo,
das ging ja fix mit den Antworten. Noch ein paar Details: Ich möchte ein Spektrometer ansteuern. Der Hersteller bietet dafür eine dll-Sammlung für LabVIEW an. Diese besteht aus einigen Standard-dll und einer Schnittstellen-dll speziell für LabVIEW, welche die anderen dlls nach bedarf aufruft. In der aktuellen Anwendung möchte ich 2 unabhängige Spektrometer gleichzeitig betreiben möchte. Diese greifen auf die gleiche dll zu und arbeiten jetzt grundsätzlich hintereinander und nicht paralell, da jeder Aufruf der dll diese blokiert und erst nach Beenden der Messung frei gibt. Wenn ich 2 "unabhängige" Applikationen in verschieden Verzeichnissen betreibe, kann ich die dlls lokal aufrufen, aus dem Verzeichnis der Applikation und die Systeme laufen erst mal unabhängig (getestet). Natürlich sollen die Messwerte der Spektrometer zusammen gefügt werden und die Satellitenapplikation soll auch aus der Hauptapplikation gesteuert werden.
Zunächst sollte die Integrationszeit und der Stopp Befehl rüberkommen und das Datenarray zurück. Weitere Settings wären auch nicht schlecht.
Die Geschwindikeit ist weniger kritisch (solange es nicht mehr als 100 ms werden), als die Ressourcenbelegung.
Shared Variables habe ich nicht gefunden, wie heißt das auf deutsch?
Danke, schon mal,
Mistele
Umgebungsvariablen. Die musst Du im Projektmanager erstellen.
Gruß Markus
' schrieb:Shared Variables habe ich nicht gefunden, wie heißt das auf deutsch?
Hallo
und bei der Beispiel-Suche nicht zu informativ sein
[
attachment=17872]
viel Erfolg
Vielen Dank,
damit komme ich weiter!