1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Schnittstelle zwischen 2 Programmen

Dieses Thema im Forum "Pascal" wurde erstellt von efficiens, 22. März 2014.

  1. efficiens

    efficiens New Member

    Hi Leute,

    ich habe vor ein Programm A zu schreiben, dass aus einem anderen Programm B Daten abließt, diese dann wiederum in ein anderes Programm C eingibt. Das Programm C dann aus dem Bearbeiten, der eingegeben Daten, Befehle berechnet und diese dann durch das Programm A in B eingegeben werden.
    Ich weiß leider als Programmierneuling nicht, wo ich da anfangen soll. Welche Sprache, gibt es für solche Schnittstellen bereits Programme,..?
    Hat da jemand für mich einen geeigneten Schlachtplan? :)

    Liebe Grüße,
    efficiens
  2. Diogenes

    Diogenes Member c-b Team

    A soll also in beide Richtungen als Schnittstelle wirken?
  3. efficiens

    efficiens New Member

  4. gargyle

    gargyle Well-Known Member c-b Experte

  5. Firefall

    Firefall Well-Known Member c-b Experte

    Solche Inter-Process Communication ist oft etwas mühsam. Zwei elegante Ansätze wären:
    1. Shared Memory
    2. Sockets
    Shared Memory ist am effizientesten, aber bei weitem nicht in allen Sprachen machbar, Sockets sind langsamer aber eine schönere Abstraktion weil du dann auch direkt über's Internet kommunizieren kannst.
  6. Xpyder

    Xpyder Active Member c-b Experte

    Ich habe so etwas schon einmal mit einem File gemacht - das diente quasi als "Container".
    Ich Shared-Read UND Write Mode geöffnet. (Ist Mode 66dez.)
    Sinn des Ganzen ist, zwischen meinen DOS-Programmen und einem Tool, das ich zusammen mit einem Kumpel in VB (für Windows) geschriebene habe, ein TCP- und UDP- "Relais" zu haben. D.h. das Programm hat von DOS-Seite aus die Pakete genommen und nach Windows (über Sockets) ins "Internet"/Netzwerk geworfen und es hat am "Internet"/Netzwerk "gelauscht" und die Pakete, die für die entsprechenden IP-Adressen/Ports waren, zurück an's DOS-Programm geworfen.
    Das "Container-File" funktioniert dabei quasi wie ein Ringpuffer.
    (Das ganze supportet bis zu 5 DOS-Programme geleichzeitig. Die erkennen das Vorhandensein des Windows-Programms... usw.)
    Naja, jedenfalls: Meine TCP/UDP-IP Subroutinen sind darauf ausgelegt, entweder direkt per seriellem Port (Modem) zu funktionieren ODER mit Netzwerk unter DOS (Crynwr-Standard) ODER mit diesem o.g. Windows-Ding (namens NetLink) - ODER in Kombination von mehreren dieser.
    Speziell das o.g. "Relais-Programm" über ein File ist natürlich so ein wenig "von hinten durch die Brust ins Auge" - aber Files scheinen mir die einzige Möglichkeit zu sein, zwischen DOS-Programmen (die unter WindowsXP laufen) und WindowsXP zu kommunizieren.

    Vielleicht ist das als vorläufige Idee geeignet.

    Habe auch mal überlegt, den Grafikpuffer dafür zu benutzen - quasi die letzten Bytes, die nicht angezeigt werden (da außerhalb der Auflösung).
  7. ghost0

    ghost0 Member

    Um was für Daten handelt es sich eigentlich ( Menge, Art z.B. String, ... ) und wie werden sie von den beiden Programmen normalerweise erfasst bzw. ausgegeben?
  8. efficiens

    efficiens New Member

    Viele Danke für die zahlreichen Antworten. Das Thema hat sich mittlerweile erledigt! :)