myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » Gemeinsame DLL in zwei unterschiedlichen Prozessen als Kommunikationsbrücke..?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

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

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
-Hades- -Hades- ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.11.2007
Beiträge: 118
Entwicklungsumgebung: VS 2008 Pro.
Herkunft: Deutschland NRW


-Hades- ist offline Füge -Hades- Deiner Kontaktliste hinzu

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

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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-
15.03.2012 17:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Team (Admin)

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 47.474
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
15.03.2012 17:13 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
-Hades- -Hades- ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.11.2007
Beiträge: 118
Entwicklungsumgebung: VS 2008 Pro.
Herkunft: Deutschland NRW

Themenstarter Thema begonnen von -Hades-

-Hades- ist offline Füge -Hades- Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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-
15.03.2012 17:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Team (Admin)

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 47.474
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo -Hades-,

Zitat:
Reicht es dazu, dass beide programme dieselbe DLL einbinden und laufen?

ja, gleichzeitig laufen.

herbivore
15.03.2012 17:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
chilic
myCSharp.de-Poweruser/ Experte

Dabei seit: 12.02.2010
Beiträge: 1.181


chilic ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
15.03.2012 20:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Team (Admin)

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 47.474
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
16.03.2012 07:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
majk majk ist männlich
myCSharp.de-Mitglied

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


majk ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

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

LG
16.03.2012 09:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
caldicot
myCSharp.de-Mitglied

Dabei seit: 30.09.2010
Beiträge: 51


caldicot ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
16.03.2012 10:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 19.05.2013 06:52