Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

c++-Dll in C# einbinden

Empfohlene Antworten

Veröffentlicht

Hallo ihr Lieben,

ich möchte folgendes realisieren:

1. Programm A soll mittels C++-DLL (geht hier nur mit cdecl) ein Programm B starten

2. Programm B (C#.Net) soll eine Funktion als Callback in der DLL registrieren

3. Programm A ruft eine DLL-Funktion auf, welche wiederum die Callbackfunktion im Programm B aufruft und deren Rückgabewert an das aufrufende Programm A zurückgeben.

Wenn ich das ganze komplett aus einem C#-Programm aufrufe funktioniert alles, allerdings ist hier Programm A und B dasselbe.

Bei Aufruf durch das Originalprogramm A kommt eine "Access Violation", verursacht durch das Callback.

Geht das denn überhaupt so? Ich muss da ja den Funktionszeiger auf die Callbackfunktion in einem SharedMemory halten.

Danke schonmal.

  • Autor

Das Problem ist, dass im MSDN steht, man darf keine Funktionszeiger in einem SharedMem verwenden.

Ich will aber die Callback-Funktion von Prozess B in Prozess A aufrufen.

Woher bekomm ich denn nun den Funktionspointer???

  • Autor
Du kannst nicht einfach über einen Funktionszeiger in einen anderen Prozess hineinrufen. Dafür gibt es IPC-Mechanismen.

Ich sehe, du hast mein Problem verstanden.

Kannst du mir wenigstens ansatzweise nen Lösungsvorschlag unterbreiten?

Ich habe ja im Prinzip zwei Prozesse, die von außen auf die DLL zugreifen.

  • Autor

Was davon für deinen Fall das beste ist, hängt stark davon ab, was dieser Funktionsaufruf bezwecken soll.

Es gibt mehrer solcher Funktionen... eigentlich sind alle ganz simpel.

- 1 Rückgabetyp

- mehrere Parameter

Alles int und double

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.