Einzelnen Beitrag anzeigen

Errraddicator

Registriert seit: 26. Jun 2008
161 Beiträge
 
Delphi 2007 Professional
 
#1

Datenaustausch zwischen 2 Programmen?

  Alt 29. Sep 2008, 15:38
Hiho,

ich hatte ursprünglich vor meine Programme auf Multithreading umzustellen, um Laufzeit zu sparen.
Dies funktioniert aber nicht, da die Datenbankanbindung die ich nutzen muss (Drittanbieter) nicht für sowas geeignet ist.

Jetzt habe ich die Überlegung mir (wie bisher) ein Singlthreading Programm zu schreiben und das in eine Art Client/Server-Architektur einzubinden.

Also Schemadarstellung ähnlich zum Thread-Ablauf:
Delphi-Quellcode:
Programm
|- Sammelt Anforderungen
|- Gibt diese an Threads weiter
   |- Thread #1 verarbeitet x Anforderungen
   |- Thread #2 verarbeitet y Anforderungen
|- Sammelt die erzeugten Daten der Threads
|- Gibt Ausgabedaten aus
das Ganze auf Programm Ebene:
Delphi-Quellcode:
Programm 1
|- Sammelt Anforderungen
|- Gibt diese an Unterprogramme weiter
   |- Programm 2 (Instanz A) verarbeitet x Anforderungen
   |- Programm 2 (Instanz B) verarbeitet x Anforderungen
|- Sammelt die von den Unterprogrammen erzeugten Daten
|- Verarbeitet Ausgabedaten
Sprich:
Mehr oder weniger das gleiche Prinzip aber halt von Thread auf Programm-Ebene verlagert.

...

Jetzt habe ich aber 1 großes Problem:
Wie schaffe ich es, dass mein Hauptprogramm mit den Unterprogrammen "Programm 2" kommunizieren kann?
So dass ich dem sage "Mach das" und am Ende auch dessen Ausgabe wieder auslesen, sammeln und weiterverarbeiten kann?

Da müsste ich doch quasi eine Client-Server-Anwedung schreiben, oder?
Programm 1 ist der Server der 2 oder mehr Clients startet, diese mit der Verarbeitung beauftragt und anschließend Daten von denen geliefert bekommt.

Aber wie mache ich das?

...

Oder kann ich die Kommunikation auch über OLE / COM z.b. regeln?


Danke im Voraus

cu Patrick
  Mit Zitat antworten Zitat