Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Gemeinsame DLL in zwei unterschiedlichen Prozessen als Kommunikationsbrücke..?
-Hades-
myCSharp.de - Member



Dabei seit:
Beiträge: 171
Herkunft: Deutschland NRW

Themenstarter:

Gemeinsame DLL in zwei unterschiedlichen Prozessen als Kommunikationsbrücke..?

beantworten | zitieren | melden

Hallo Forum,

ich habe ein kleines Problem.
Ich habe eine Win32 DLL geschrieben, die ich jetzt in 2 Programme einbinde. Das eine Programm kann leider nur DLL-Aufrufe tätigen. Ich möchte jetzt in dem zweiten Programm Daten aus dem ersten abrufen. Ich hatte gedacht ich kann das irgendwie über die gemeinsame DLL bewerkstelligen aber ich hab keine Idee wie das gehen soll. Ich könnte die DLL die Daten in eine Datenbank schreiben lassen und diese mit dem zweiten Programm dann aus der Datenbank holen aber is ja an sich unschön wie ich finde.

Das erste Programm kann auch leider wirklich grad mal ne DLL importieren und sonst nicht viel... Da kann ich auch nichts dran ändern.

Ich hoffe ihr habt eine Idee wie ichs anstellen kann.

Gruß
-Hades-
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo -Hades-,

sofern die beiden Prozesse gleichzeitig aktiv sind, kann die DLL so ziemlich jede Technik zur ==> Interprozesskommunikation nutzen, z.B. Shared Memory oder Named Pipes. Bitte suche selber und lies dich selber ein.

herbivore
private Nachricht | Beiträge des Benutzers
-Hades-
myCSharp.de - Member



Dabei seit:
Beiträge: 171
Herkunft: Deutschland NRW

Themenstarter:

beantworten | zitieren | melden

Ah danke herbivore, das hört sich gut an.
Vor allem shared memory werd ich mir dann zunächst anschauen.
Kannst du vielleicht noch kurz erläutern was du mit gleichzeitig aktiv meinst? Reicht es dazu, dass beide programme dieselbe DLL einbinden und laufen?

Gruß
-Hades-
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo -Hades-,
Zitat
Reicht es dazu, dass beide programme dieselbe DLL einbinden und laufen?
ja, gleichzeitig laufen.

herbivore
private Nachricht | Beiträge des Benutzers
chilic
myCSharp.de - Experte



Dabei seit:
Beiträge: 2.099

beantworten | zitieren | melden

Ich glaube er meint dass die Daten in dieser DLL ausgetauscht werden. Also das eine Programm schreibt die Daten in einen Speicherbereich der DLL und das zweite holt sie da wieder raus.
Das geht aber nicht, da die DLLs in jedem Prozess separat eingebunden sind und einen eigenen Speicherbereich haben.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo chilic,

deshalb gibt es ja shared memory. Zwar ist der unter Windows wohl filebased, also man kann nicht wie auf normalen (Haupt-)Speicher zugreifen, sondern nur über Dateizugriffe, aber im Grunde geht damit genau, was du schreibst. Und selbst wenn man shared memory nicht verwenden kann oder will, gibt es noch genug andere Technik zur Interprozesskommunikation, die man nutzen kann.

herbivore
private Nachricht | Beiträge des Benutzers
majk
myCSharp.de - Member



Dabei seit:
Beiträge: 3
Herkunft: Rhein/Main Gebiet

beantworten | zitieren | melden

Hallo,

vielleicht hilft Dir dieser Artikel weiter: Inter-Process Communication (IPC) Introduction and Sample Code.

LG
private Nachricht | Beiträge des Benutzers
caldicot
myCSharp.de - Member



Dabei seit:
Beiträge: 51

beantworten | zitieren | melden

Hi,

ich habe erst kürzlich auch Interprozesskommunikation benötigt.

Das Zyan Framework von Rainbird kann das ebenfalls bewerkstelligen und ist in der Anwendung sehr einfach.
Ich konnte damit Kommunikation von zwei Anwendungen schnell und problemlos umsetzen.

caldi
private Nachricht | Beiträge des Benutzers