Auf Speicher von anderem Programm zugreifen



  • Hi,
    hab hier ein kleines Problem das gelöst werden will. Ich bin mir sicher, das es einen Weg gibt, nur beschäftige ich mich das erste mal mit der Thematik. Also folgendes: Ich habe ein C Programm das ununterbrochen Daten von einem Mess-System loggt und in eine Datei auf der Festplatte schreibt. 2 Zeilen die Sekunde. Desweiteren habe ich ein Delphi Programm das sich diese Daten anguckt und visualisiert. Das ganze läuft momentan so, das die Datei vom C-Programm geöffnet wird, die Zeile reingeschrieben und die Datei wieder geschlossen wird. Delphi macht das gleiche, nur liest anstatt zu schreiben. Ist wohl nicht die beste Lösung...
    Ich würde gerne die Daten mit dem Delphi-Programm aus dem Heap auslesen um der Festplatte ein paar Tage mehr Leben zu schenken ;). Gibt es nicht eine Möglichkeit eine Art Interface bereitzustellen, durch das man auf bestimmte Daten eines anderen Programms zugreifen kann?
    Zu meiner Verteidigung möchte ich noch beitragen, das ich die beiden Programme nicht geschrieben habe, sondern nur dafür zuständig bin sie zu verbessern ;). OS ist Windows XP. Wär aber ganz nett wenn jemand einen allgemeinen Weg für sowas wüßte, damit das ganze ein wenig "portabel" bleibt. Oder ich einfach nur mehr vom Thema verstehe... Buchtipps, Links etc. werden also gerne angenommen.

    mfg
    Heiko



  • ramdisk!



  • Such nach Shared-Memory.
    Ansonsten kannst du auch einfach die Daten in die Standardausgabe schreiben und in dem anderen Programm aus der Standardeingabe einlesen. Der Aufruf

    c_programm | delphi_programm
    

    funktioniert sowohl unter sämtlichen Unices als auch unter Windows.



  • http://de.wikipedia.org/wiki/Interprozesskommunikation

    Da stehen meherer Möglichkeiten sowas zu verwirklichen.
    Mit C dürften alle Möglichkeiten verwirklicht werden.
    Was Delphi angeht weis ich nicht welche unterstützt werden.



  • genau das hab ich gesucht :). ich danke euch. klingt alles interessant. werd mich da mal reinfuchsen...


Log in to reply