日期:2011-03-22 16:16:00 来源:本站整理
<b>用Java筹划COM服务器</b>[Java编程]
本文“<b>用Java筹划COM服务器</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本节将介绍ActiveX控件、Automation服务器大概其他任何符合COM标准的服务器的开辟历程.下面这个例子实现了一个简单的Automation服务器,它能履行整数加法.我们用setAddend()办法设置addend的值.每次调用sum()办法的时刻,addend就会增添到当前result里.我们用getResult()得到result值,并用clear()重新设置值.用于实现这一行为的Java类是非常简单的:
为了将这个Java类作为一个COM对象利用,我们将Javareg工具利用于编译好的Adder.class文件.这个工具供应了一系列选项;在这种情形下,我们指定Java类文件名("Adder"),想为这个服务器在注册表里置入的ProgID("JavaAdder.Adder.1"),以及想为行将生成的范例库指定的名字("JavaAdder.tlb").由于还没有给出CLSID,所以Javareg会自动生成一个.若我们再次对一样的服务器调用Javareg,就会直接利用现成的CLSID.public class Adder { private int addend; private int result; public void setAddend(int a) { addend = a; } public int getAddend() { return addend; } public int getResult() { return result; } public void sum() { result += addend; } public void clear() { result = 0; addend = 0; } }
javareg /register
/class:Adder /progid:JavaAdder.Adder.1
/typelib:JavaAdder.tlb
Javareg也会将新服务器注册到Windows注册表.此时,我们必须记着将Adder.class复制到Windows\Java\trustlib目录.考虑到安全方面的缘由(分外是触及程序片调用COM服务的问题),只有在COM服务器已安装到trustlib目录的前提下,这些服务器才会被激活.
目前,我们已在自己的系统中安装了一个新的Automation服务器.为举行测试,我们需求一个Automation掌握器,而Automation掌握器就是Visual Basic(VB).在下面,大家会看到几行VB代码.按照VB的格局,我设置了一个文本框,用它从用户那边接纳要相加的值.并用一个标签显示后果,用两个下推按钮辨别调用sum()和clear()办法.最开始,我们声明了一个名为Adder的对象变量.在Form_Load子例程中(在窗体初次显示时载入),会调用Adder自动服务器的一个新实例,并对窗体的文本字段举行初始化.一旦用户按下“Sum”大概“Clear”按钮,就会调用服务器中对应的办法.
注意,这段代码根本不知道服务器是用Java实现的.Dim Adder As Object Private Sub Form_Load() Set Adder = CreateObject("JavaAdder.Adder.1") Addend.Text = Adder.getAddend Result.Caption = Adder.getResult End Sub Private Sub SumBtn_Click() Adder.setAddend (Addend.Text) Adder.Sum Result.Caption = Adder.getResult End Sub Private Sub ClearBtn_Click() Adder.Clear Addend.Text = Adder.getAddend Result.Caption = Adder.getResult End Sub
运行这个程序并调用了CreateObject()函数今后,就会在Windows注册表里搜索指定的ProgID.在与ProgID有关的信息中,最重要的是Java类文件的名字.作为一个呼应,会启动Java虚拟机,并且在JVM内部调用Java对象的实例.从那个时刻开始,JVM就会自动接纳客户和服务器代码之间的交流.
以上是“<b>用Java筹划COM服务器</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论