快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

永乐国际乐一在其中勇往直前_机器人论坛网进入



媒介:

CORBA是一种透时的散播工具标准,也是一种说话中立的工具标准,这里讲一些应用JBuilder 7和DELPHI 6混杂编写CORBA法度榜样小我体验。

测试用软件情况:

JBuilder 7

vbroker for JAVA 4.5

DELPHI 6(安装时拔取安装VisiBroker 4.0)

运行限定:

DELPHI编写的CORBA软件运行时需求要以下DLL,

orbpas40.dll (在Delphi6Bin目录内)

cc3250mt.dll (在Delphi6Bin目录内)

orb_br.dll (vbroker for c++的bin目录内)

vport_br.dll (vbroker for c++的bin目录内)

以是在运行DELPHI编写的CORBA软件时,要包管经由过程情况变量PATH可以找到以上4个DLL文件。

实际应用时可以只应用了vbroker for JAVA的各类办事法度榜样,不应用vbroker for c++的办事法度榜样,各类办事器运行于本网段其他主机(含非同类型主机,如在办事器运行于linux主机)也可以正常运行CORBA法度榜样。

局限性:

Visibroker 3.x 和4.x支持,BOA要领,

POA在Visibroker 4.X上支持,但现在DELPHI CORBA编程只支持BOA要领。

JBuilder 和C++Builder 支持POA要领编程

假如在DELPHI编程中必要应用POA要领可以到 http://www.millennium-group.ru/tools 去下载MT DORB 这个对象包供给了DELPHI POA的支持

编程中的小我心得:

1、JBuilder 可以经由过程领导天生CORB永乐国际乐一在其中勇往直前A的JSP客户端法度榜样,但领导是按POA要领天生,以是对付JAVA连接DELPHIE编写的CORBA办事器自动天生的JSP和 clientImpl1代码要进行需要的改动。

例:

原码为:

ifaceAccount = aaa.AccountHelper.bind(_orb, "/" + name + "_poa", name.getBytes());

替换永乐国际乐一在其中勇往直前为

ifaceAccount= aaa.AccountHelper.bind(_orb);

ifaceAccount = aaa.AccountHelper.bind(orb,"Jack B Quick2");

此中:“Jack B Quick2”为运行osfind 中的OBJECT NAME,下面是运行osfind时呈现的部分内容:

REPOSITORY ID: IDL:aaa/Account:1.0

OBJECT NAME: Jack B Quick2

2、DELPHI调用JAVA编写的CORBA办事,假如对方是应用POA要领,那么只能用IO永乐国际乐一在其中勇往直前R字串完成。

参考代码如下:

//javas(AnsiString类型)是从文件读入的IOR串,IOR串是办事启动孕育发生时写入的

//orj 是CORBAObject类

obj:=orb.StringToObject(javas);

act:=TAccountHelper.Narrow(obj,true);

3、BCB可以支持POA,当前DELPHI不支持,为了兼容DELPHI,并应用JB7的领导能力,可以改写JB7的自动天生BOA的办事。

首先:

JB7的天生 Bulid IDL的属性(Additional options)加 -boa,对付已经天生的办事:如

public class AccountManagerImpl extends AccountManagerPOA {

改成

public class AccountManagerImpl永乐国际乐一在其中勇往直前 extends _AccountManagerBase {

初始函数要有以下支持(这点同POA很不合)

public AccountManagerImpl(java.lang.String name) {

super(name);

}

办事法度榜样如下

// Server.java

public class Server {

public static void main(String[] args) {

// Initialize the ORB.

org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);

// Initialize the BOA.

com.inprise.vbroker.CORBA.BOA boa = ((com.inprise.vbroker.CORBA.ORB)orb).BOA_init();

// Create the account manager object.

Bank.AccountManager manager =

new AccountManagerImpl("BankManager");

// Export the newly created object.

boa.obj_is永乐国际乐一在其中勇往直前_ready(manager);

System.out.println(manager + " is ready.");

// Wait for incoming requests

boa.impl_is_ready();

}

}

3、JB7在设定 VisiBroker时,进行响应的参数设定,详细是在%java_home%jreliborb.properties 文件内指定了

您可能还会对下面的文章感兴趣: