Datenaustausch zweier Anwendungen



  • Hi,

    eigentlich war es geplant meine GUI als DLL zu erzeugen. Leider funktioniert das nicht so einfach.

    Zur Initialisierung meiner Anwendung benötige ich eine Struktur. Den Zeiger auf diese Struktur bekomme ich von einer anderen Anwendung. Beim Einsatz einer DLL hätte ich den Zeiger einfach übergeben und ich hätte keine Probleme mit dem Zugriff auf den Speicherbereich gehabt.

    Dadurch dass ich eine EXE verwende hab ich das Problem dass ich auf den Speicherbereich einer anderen Anwendung nicht zugreifen kann.

    Wichtig wäre vllt. noch dass die andere Anwendung in C geschrieben ist (nicht von mir) und dass der Aufwand nicht allzu groß sein sollte.

    Danke
    Viele Grüße
    Kerberos


  • Mod

    Was spricht gegen eine Datei, die Du im Tempverzeichnis anlegst und deren Parameter Du übergibst?



  • Hi Martin,

    das Problem ist dass die Daten der Strukur u. U. im µ-Sekunden-Bereich aktualisiert werden und es sich dabei um viele einzelne Daten handelt (also nicht nur um 2 Integer oder so).

    Ich denke nicht dass eine Schreib-Operation auf HD so schnell gehen kann.

    Lg und vielen Dank

    Kerberos



  • GlobalAlloc und PostThreadMessage.

    Ansonsten würde ich dir raten das mit der DLL durchzuziehen.

    [EDIT]
    Hab gerade deinen anderen Thread gesehen.
    Also keine DLL.


  • Mod

    Na und? Dann bau eine Memory Mapped File auf... Ist dan ja dennoch eine Datei liegt aber im Speicher!



  • Hi!

    Nochmals Dankeschön für die Antworten!

    So eine Datei die nur im Speicher liegt hab ich mir heute Nachmittag bereits angeschaut (CMemFile).

    Aber das Schreiben in ein virtuelles Datei-System müsste ja dann die Master-Anwendung übernehmen(die Anwendung, die meine Anwendung aufruft) und die ist in C geschrieben.

    Was mich zu dem ersten Problem bringt, für C habe ich solche Funktionen nicht gefunden, die mir Daten in den Speicher schreiben.

    Des Weiteren muss ich die Strukur serialisieren, oder kann man die auch anderst in einer Datei speichern?

    Lg
    Kerberos


  • Mod

    Auch eine Memory Mapped File bedient sich der WinAPI und die ist auch aus C++ erreichbar.
    Zudem: Was spricht dagegen auch C++ in Deinem C Programm zu nutzen? Nichts 🤡


Log in to reply