描述:
我用C++写的模块,在VB、java、C#,以及在Web里怎么使用?
是否要做成ActiveX?不同语言里的数据类型怎么转换?原理是什么呢?
解决方案1:
在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调用,不过说实话,这样做一样会有很多人有抵触情绪……
COM+
OR
CODE TRANSLATE
HEHE.
写成COM组件吧
解决方案4:java的需要按照jini的规范来写,其他的就写成activex就可以在各个语言中调用了.
解决方案5:写好了记得给我试用啊,哈哈
解决方案6:就写成COM,然后在调用
解决方案7:
可以写成c dll,但通用性最好的还是写成com( 最好是activex标准的)。
这个题目好大,建议看看com 本质论和idl精髓两本书。