我手头上有一个MFC动态库,它的一个接口函数为void Draw_DrawBody(CDC *pDC),请问各位高手,我在java中可以调用这个组件的这个接口函数吗?应该怎么样传入这个参数? 
这个动态库的源码我有,如果有修改动态库源码然后调用的方法也可以。

解决方案 »

  1.   

    在Java中可以通过JNI的方式调用DLL中的函数,不过你这个MFC函数最好重新封装一下,不然在Java中找不到对应的类型。
      

  2.   

    这个组件的功能是绘图,我的想法是让java主程序将绘图环境传给组件,然后组件在这个绘图环境下画图,有没有可能实现呢?
      

  3.   

    JNI,重新封装一个dll,在新的dll里面申请CDC,然后把指针传给你的原来的dll
    我也在弄java调用dll,遇到java和dll的字符串转换以及参数传进传出的问题
      

  4.   


    不太可能,VC中的类和Java中的类是完全不同的实现,差别太大了!
      

  5.   

    能说具体些吗?我没明白:从新的DLL传指针到MFC动态库,和从主程序传绘图环境(pDC)到动态库在实现上有区别吗?