从c#到c ++的CallBack函数

时间:2010-02-18 14:07:34

标签: c# c++ visual-c++ dll callback

我有一个C#exe和一些vc ++ dll。我在C#中创建一个callBackFunction,它将结构作为其参数。我的c ++ dll将填充此结构并将其返回。但是,95%的时间My Exe崩溃。我的dll是多线程的,我的C#中有backgroundWorker。我已经把try catch块检查是否有任何异常即将发生,但没有异常被捕获。任何人都可以建议一种更好的方法将数据从我的vc ++ dll发送到c#exe

2 个答案:

答案 0 :(得分:1)

这必须奏效:
(c#)

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

(c ++ / cli)

...
Test::CallbackClass::Callback(gcnew System::String("woof!");
...

答案 1 :(得分:0)

如果您希望可以实现COM接口,那么您可以从任何.Net客户端调用该接口的方法。

实施的基本example