Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  NX Programmierung
  2 DLL und gemeinsamer Zugriff auf eine Funktion

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
  
Solid Edge: Erste Schritte, ein Webinar am 26.09.2025
Autor Thema:  2 DLL und gemeinsamer Zugriff auf eine Funktion (1381 mal gelesen)
Berndinger
Mitglied


Sehen Sie sich das Profil von Berndinger an!   Senden Sie eine Private Message an Berndinger  Schreiben Sie einen Gästebucheintrag für Berndinger

Beiträge: 2
Registriert: 04.08.2011

erstellt am: 04. Aug. 2011 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


test.zip

 
Hallo,

ich versuche gerade aus zwei unterschiedlichen DLLs eine Funktion in einer dritten DLL aufzurufen. Dies funktioniert auch ohne Probleme, nur leider scheint die dritte DLL doppelt geladen zu werden, die beiden anderen DLLs rufen also nicht die selbe "Instanz" auf.

Konkretes Beispiel siehe Anhang (unter user_dir/application).

Eine Toolbar mit zwei Buttons, welche jeweils eine DLL aufrufen und eine Testfunktion in der dritten DLL aufrufen. Die Testfunktion hat einen Zähler, welche die anzahl der Aufrufe speichert und im Logfile der Session ausgibt.
Drücke ich Button 1 mehrmals, wird der Zähler korrekt hochgezählt, drücke ich nun Button 2, hat dieser seinen eigenen Zähler, welcher wieder bei 0 beginnt.

Das zugehörige Projekt steckt ebenfalls in der Zip. Die beiden Button-DLLs referenzieren die dritte ganz normal über den Standardweg. Auch mit Reflection (Assembly.LoadFrom) hatte ich keinen Erfolg.

Hat jemand eine Idee wie ich das Umgehen kann, sprich das beide DLLs mit der selben "Instanz" reden?
Irgendeine andere Form von schneller Kommunikation/Events wäre auch ok.

[Diese Nachricht wurde von Berndinger am 04. Aug. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

seiwi
Mitglied
Programmierer, Systembetreuer


Sehen Sie sich das Profil von seiwi an!   Senden Sie eine Private Message an seiwi  Schreiben Sie einen Gästebucheintrag für seiwi

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 05. Aug. 2011 12:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Berndinger 10 Unities + Antwort hilfreich

Hallo Berndinger,

evtl. klappts mit "Shared Memory" allerdings kenn ich nur den Begriff und habs selber noch nicht ausprobiert. Vielleicht hilfts dir ja weiter...

Eine Alternative wäre vielleicht ein Umgebungsvariable auszuwerten und hoch zu zählen...???

Gruß
Seiwi

------------------
Let's Rock...  

[Diese Nachricht wurde von seiwi am 05. Aug. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Anzeige:Infos zum Werbeplatz >>

speedyPDM CAD APP für Andere, Datenaustausch, Allgemeine Werkzeuge

speedyPDM ist das führende technische Dokumenten- und Produktdatenmanagementsystem für Solidworks, Solid Edge, Inventor, AutoCAD, ZWCAD, BricsCAD, Office und Email inklusive Revisionsmanagement.

Berndinger
Mitglied


Sehen Sie sich das Profil von Berndinger an!   Senden Sie eine Private Message an Berndinger  Schreiben Sie einen Gästebucheintrag für Berndinger

Beiträge: 2
Registriert: 04.08.2011

erstellt am: 05. Aug. 2011 13:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mir geht es eher allgemein um die Kommunikation, der Zähler war nur ein Test :-)

Shared Memory wäre eine Idee, momentan spiele ich mit Remoting und IpcChannels, was bisher gut funktioniert.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz