Функция CallBack от c # до c ++ - PullRequest
       9

Функция CallBack от c # до c ++

0 голосов
/ 18 февраля 2010

У меня есть C # exe и несколько vc ++ dll. Я создаю callBackFunction в C #, который принимает структуру в качестве своих параметров. My c ++ dll заполнит эту структуру и вернет ее обратно. Но в 95% случаев My Exe падает. Мой DLL многопоточный и мой C # имеет backgroundWorker в нем. Я поставил блок try catch, чтобы проверить, приходят ли какие-то исключения или нет, но никаких исключений не ловится. Кто-нибудь может предложить лучший способ отправить данные из моей библиотеки vc ++ в c # exe

Ответы [ 2 ]

1 голос
/ 19 февраля 2010

это должно работать:
(c #)

namespace Test
{
    public class CallbackClass
    {
        public void Callback(string s)
        {
            MessageBox.Show(s);
        }
    }
}  

(c ++ / cli)

...
Test::CallbackClass::Callback(gcnew System::String("woof!");
...
0 голосов
/ 18 февраля 2010

Если вы хотите, вы можете реализовать интерфейс COM , а затем вызывать методы из этого интерфейса из любого клиента .Net.

Basic пример изосуществление.

...