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
ImportDll -> Callback
et-thomas
myCSharp.de - Member



Dabei seit:
Beiträge: 7

Themenstarter:

ImportDll -> Callback

beantworten | zitieren | melden

Hallo

ich möchte eine Funktion aus einer älteren C++ dll aufrufen und habe ein paar Probleme mit den Callbacks.

ConnectDMS(TCHAR *lpszPipename,client *cl,int (*fun_ptr)(comm *msg));
--->
//ConnectDMS(TCHAR *lpszPipename,client *cl,int (*fun_ptr)(comm *msg));
[DllImport("c:\\promos13\\bin\\pmospipe.dll", EntryPoint = "ConnectDMS", CharSet=CharSet.Ansi, SetLastError=true, ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)]
public static extern unsafe int ConnectDMS(string strname, ref client cldms, _CSharp_Klassenentwicklung.Form1.Callbacks cb);
	
Der letzte Parameter gibt bei mir nun die Funktion (mit delegate) an, die bei Message ausgeführt werden soll. Übergabe für diese Funktion ist *msg.
Die Struktur für *msg habe ich nach Doku richtig angelegt.

In der Doku der dll-Funktionen steht, das die Funktion mit cdecl angelegt ist und deswegen vorsicht geboten sei in anderen sprachen neben c++.

Problem ist nun, das die Messages nicht ankommen, also das Programm nicht reagiert - und das rufende (also message sendende) Programm hängen bleibt solange mein Programm verbunden ist.

Vielleicht hat jemand einen Hinweis für mich -> bzw. verweis im Internet wo das Thema behandelt wird. Habe mich schon umgesehen aber nicht wirklich etwas gefunden.
private Nachricht | Beiträge des Benutzers