首页 新闻 搜索 专区 学院

C#调用C++的回调函数

0
悬赏园豆:30 [已关闭问题] 关闭于 2011-05-11 12:29

函数原型是这样的,

int  TVT_Card_RegisterDrawFun(DWORD nport,DRAWFUN DrawFun,LONG nUser)

指针函数是 typedef void (CALLBACK* DRAWFUN)(long nPort,HDC hDc,LONG nUser);

我用C#该如何调用,我自己写了一个委托,然后实例化一下,再用委托去调用貌似不行。请大侠指教,谢谢!

马战鹏的主页 马战鹏 | 菜鸟二级 | 园豆:432
提问于:2011-04-28 12:47
< >
分享
所有回答(2)
0

 dll import 一下,有专门的p/invoke工具的

massinger | 园豆:704 (小虾三级) | 2011-04-29 09:25
。。。你明白我意思么?
支持(0) 反对(0) 马战鹏 | 园豆:432 (菜鸟二级) | 2011-04-30 16:06
呵呵,你明白我意思么?
应该是回调函数吧,不是指针函数哦。
C#中的委托对应于c++中的回调函数。
你用委托去直接调用C++的函数肯定不行啊,本身从C++到c#就已经是一个从非托管的代码到托管代码的过程,你必须先P/INVOKE下你的函数原型,使函数原型转变成可以在C#下调用的方式。
支持(0) 反对(0) massinger | 园豆:704 (小虾三级) | 2011-05-02 14:54
哥哥,我已经做过了,其它的基本的方法都能调用。。。。
支持(0) 反对(0) 马战鹏 | 园豆:432 (菜鸟二级) | 2011-05-03 13:50
0

你好,请问,您是如何解决这个问题呢???小弟现在存在着相同的问题!!!

visatest@163.com

visatest | 园豆:122 (初学一级) | 2013-08-08 08:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册