文件名称:Java通过Jacob调用ActiveX,进行二进制数据交换
文件大小:44KB
文件格式:ZIP
更新时间:2017-03-17 07:17:14
java jacob ocx Variant 数据交换
该工程项目演示了Java通过jacob1.17调用ActiveX的基本方法。对于单个的基本类型的数据(byte、short、long、BOOL)等类型的数据,以及有很多字节组成的可见英文字符、汉字等组成的字符串(LPCTSTR、BSTR类型都会进行编码转换)来说,使用VC的ActiveX项目向导可以方便地实现;对于二进制数据的交换必须使用Variant类型,但是在实际使用过程中使用VC2008ActiveX项目向导生成的ocx触发事件中带有Variant类型的参数时,ocx控件在触发事件消息之后就会出现内存异常,导致程序无法正常运行,而采用VC6.0生成的事件触发代码就运行正常,不知道是什么原因。采用Variant的SafeArray数据类型可以实现二进制数据的交换,通过SafeArrayCreateVector创建数据缓存空间,SafeArrayAccessData锁定内存数据块,SafeArrayUnaccessData解除内存数据块的锁定,SafeArrayDestroy释放内存数据空间。
【文件预览】:
JavaOcx
----JavaOcx()
--------JavaOcx.suo(8KB)
--------JavaOcx.rc(4KB)
--------JavaOcx.h(960B)
--------JavaOcx.sln(1KB)
--------JavaOcx.dsw(537B)
--------JavaOcx.clw(974B)
--------JavaOcx.opt(48KB)
--------JavaOcxPpg.cpp(2KB)
--------JavaOcx.cpp(2KB)
--------ReadMe.txt(3KB)
--------JavaOcx.ico(1KB)
--------JavaOcxCtl.h(2KB)
--------JavaOcx.odl(2KB)
--------Resource.h(548B)
--------StdAfx.cpp(204B)
--------JavaOcxCtl.cpp(8KB)
--------JavaOcxPpg.h(1KB)
--------StdAfx.h(1KB)
--------JavaOcx.vcproj(16KB)
--------JavaOcx.dsp(8KB)
--------JavaOcxCtl.bmp(238B)
--------JavaOcx.def(222B)
----说明.txt(821B)
----TestJavaOcxVc()
--------resource.h(691B)
--------TestJavaOcxVc.dsp(5KB)
--------TestJavaOcxVc.dsw(593B)
--------javaocx.cpp(935B)
--------TestJavaOcxVcDlg.h(2KB)
--------ReadMe.txt(4KB)
--------res()
--------javaocx.h(2KB)
--------StdAfx.cpp(215B)
--------TestJavaOcxVc.h(1KB)
--------TestJavaOcxVc.rc(6KB)
--------TestJavaOcxVcDlg.cpp(6KB)
--------StdAfx.h(1KB)
--------TestJavaOcxVc.cpp(2KB)
--------TestJavaOcxVc.clw(1KB)
----TestJavaOcx()
--------.project(387B)
--------src()
--------.settings()
--------.classpath(405B)
--------bin()
----清除临时文件.bat(677B)