轻松架起Java连接COM对象的桥梁(续)

原创 2002年12月03日 08:51:00

  继《轻松架起Java连接COM对象的桥梁》文章发表后,收到很多网友的来信,探讨关于jacob开

发的问题,这篇续文是为了解决jacob传送数组到com以及从com的提取com对修改后的数组参数。关

于jacob的使用这里不详述,请见《轻松架起Java连接COM对象的桥梁》,具体实现如下:
import com.jacob.com.*;
import com.jacob.activeX.*;

public class Exam_6
{
  public static void main(String[] args)
  {
    ActiveXComponent pp = new ActiveXComponent("PrjCOM.MyCOM");
    try {
  SafeArray sa = new SafeArray(Variant.VariantString,2);
  Variant var = new Variant();
  sa.fromStringArray(new String[]{"H","H"});
  var.putSafeArrayRef(sa);//传递数组引用地址
  //如果只是传一个数组进去,而不需要取得改动后内容的话,可以用putSafeArray方法
  Dispatch.call(pp, "Test",var);
  String[] sack= sa.toStringArray();
  System.out.println(sack[0]+"/t"+sack[1]);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
VB实现的Com对象如下
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "MyCOM"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Public Sub Test(ByRef param() As String)
ReDim param(2)
param(0) = "Hello"
param(1) = "World"
End Sub

编译执行Exam_6.java
打印 Hello World

有疑问联系zlyperson@163.net

轻松架起Java连接COM对象的桥梁(续二)

  本来没想到自己会为《轻松架起Java连接COM对象的桥梁》作续,而今还写了续二,可知我们网络上探讨技术的网友们还是挺多的,非常欣慰!这次内容是利用jacob实现在word文档中替换字符串。关于ja...
  • zlyperson
  • zlyperson
  • 2003年06月26日 10:05
  • 2513

轻松架起Java连接COM对象的桥梁

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月24日 01:48
  • 138

轻松架起Java连接COM对象的桥梁

 问题是在CSDN上一网友提出的将 m$ word 转换为 xml 的java程序问题(http://www.csdn.net/expert/topic/1091/1091620.xml)or(htt...
  • zlyperson
  • zlyperson
  • 2003年09月14日 18:55
  • 2516

18.可连接对象和连接点原理

讲解可连接对象和连接点原理,说明实现一个可连接对象需要做的事情。
  • wenzhou1219
  • wenzhou1219
  • 2016年07月16日 21:04
  • 769

POI架起Java和Office之间桥梁

http://wenku.baidu.com/link?url=24PwoJAbCzWEvqgsFbdHCt-SEtjjGqz1D4E_myKVRy6nzqwkS_1Eh8PHsxtKGbpbQsQQ...
  • washli2001
  • washli2001
  • 2014年01月04日 10:21
  • 401

COM组件:可连接对象的VC实现

我们之前使用的COM组件都是由客户端发起请求,而COM组件提供服务,这样的通信都是单向的,但是有时我们需要双向的通信,比如当一个已经提供服务的COM组件对象触发某个保留的事件时,在前一段时间我们并不知...
  • dasgk
  • dasgk
  • 2013年07月11日 11:35
  • 952

连接 COM 与 .NET 的桥梁

预备知识作者:caeser2本文代码使用ISO C++和.net v1.1框架(VS 2003)编写,但其原理适合所有支持.net框架的语言 一、前言  由于传统的COM技术使用静态的非托管编程,而....
  • snaill
  • snaill
  • 2006年03月13日 16:37
  • 1246

连接 COM 与 .NET 的桥梁

预备知识作者:caeser2本文代码使用ISO C++和.net v1.1框架(VS 2003)编写,但其原理适合所有支持.net框架的语言 一、前言  由于传统的COM技术使用静态的非托管编程,而....
  • dingbaosheng
  • dingbaosheng
  • 2006年03月14日 23:04
  • 709

操作系统--硬件与软件的桥梁

现代计算机系统通常由一个或多个处理器,主存,磁盘,打印机,键盘,鼠标,显示器,网卡,还有各种各样的输入输出设备组成(数位板,扫描仪等等)而操作系统就是在应用软件和底层硬件的一层抽象,让我们在编写应用程...
  • o83290102o5
  • o83290102o5
  • 2017年12月05日 21:07
  • 148

AngularJS视图和$scope的世界

AngularJS启动并生成视图时,会将根ng-app元素同$rootScope进行绑定。$rootScope是所 有$scope对象的最上层  $rootScope是Angula...
  • qq_29678299
  • qq_29678299
  • 2016年04月10日 00:10
  • 291
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:轻松架起Java连接COM对象的桥梁(续)
举报原因:
原因补充:

(最多只允许输入30个字)