我用C++写的模块,在VB、java、C#,以及在Web里怎么使用?
是否要做成ActiveX?不同语言里的数据类型怎么转换?原理是什么呢?

解决方案 »

  1.   

    可以写成c dll,但通用性最好的还是写成com( 最好是activex标准的)。这个题目好大,建议看看com 本质论和idl精髓两本书。
      

  2.   

    java的需要按照jini的规范来写,其他的就写成activex就可以在各个语言中调用了.
      

  3.   

    skyonline(山中过客) 
    再给我一点指点:如果我的模块中返回一个C++的链表,那么在其他语言中能使用操作吗?
      

  4.   

    cbc啊,你的问题还没解决?帮你up 嘿嘿
      

  5.   

    betsyalan(alan) 
    你是不是tyr?
    你有什么好的应用,做到我的平台上来吧。
    比如说你做的传真系统。
    但你要用java、VB编程,那现在还没法用。现在只支持C/C++接口。
      

  6.   

    在VB里可以直接调用DLL中的函数,或者包装成COM DLL
    在Java里你要用jni,如果你用微软的JVM可以使用PInvoke直接调用DLL中的函数,也可以直接导入COM DLL
    在C#里可以用PInvoke调用DLL中的函数,也可以包装成COM DLL,而且你可以用Managed C++写一段胶水代码,将这段代码(IL)和你的代码(Native Code)连接到一起,生成一个混合的.Net组件,然后就可以在所有.Net支持的语言里用了。
    至于Web,那要看你是想用在服务器端还是客户端,如果是服务器端,没什么好说的,你要看他们用什么Web服务器,然后写扩展或者CGI;如果是客户端,你可以选择ActiveX控件,不过这个东西现在很多人有抵触情绪,要不然就写一个JNI包装,然后打包在一个签过名的JAR里,然后通过客户端的Java Applet调用,不过说实话,这样做一样会有很多人有抵触情绪……
      

  7.   

    当然是我了,哈哈!传真系统用的是VC,应该没问题的,现在在转JAVA啊,不过是J2ME的。
      

  8.   

    windoze(瞌睡窗)
    不同语言里数据类型怎么转换呢?