关于VisiBroker For Delphi的使用(1)

手工琥珀三通

手工琥珀三通

2016-01-29 14:14

关于VisiBroker For Delphi的使用(1),关于VisiBroker For Delphi的使用(1)
 
《关于VisiBroker For Delphi的使用》——CORBA技术实践(一)

宜昌市中心人民医院 赵普昉 email: 3boy@sohu.com

一、如何创建服务器对象

在Delphi中使用了IDL2PAS向导,改变了原有的创建CORBA应用服务器的方式,不能再用Typelibrary编写接口申明,而现在我们只有通过手工编写接口来创建CORBA对象,而我们创建的CORBA不用再分发DLL形式的CORBA支持这样一来简化了我们发布CORBA的过程。

下面我们简要的来看一下如何使用IDL2PAS向导以及创建一个简单的CORBA程序

1、如果你的程序含有TdataMoudle对象,那么你可以像在开发C/S模式中一样放上自己将要使用的数据组件,当然还有数据提供者组件。注意multi_layer可不是C/S,你的用于客户段调用的应用服务器处理可不能在这个DataMoudle中申明,不过在这里你可以编写服务器自己处理的代码,而后声明你的接口方法,当然这个接口声明要写在IDL文件中,例如

文件名称:CRB.IDL

module Crb{

interface CrbDBServer{

void GetData();

};

};

上面这个申明的接口中的方法是一个无类型的方法,那么接下来就要将IDL文件转化为PAS文件了,如果你已经创建了项目,那么,你可以在Delphi6.0的菜单栏中选择Regenerate IDL file(即再次转化IDL文件),如果你还没有,请到FILE-Other中,选到CORBA页(注意:不要选择mutiler的CORBA对象),点击CORBA Server Appliction ,然后会出现一个对话框,会提示你是要创建控制台程序还是要创建窗口应用程序,并要你加入你的接口声明文件,我将CRB.IDL加入进去,会由向导创建4个基本文件,分别会以CRB为前缀创建CRB_s.pas,CRB_i.pas,CRB_impl,CRB_C文件,这些文件分别代表的意义是:

CRB_s.pas:(XXX_S)创建服务器主干单元{Server skeleton unit}

CRB_i.pas:(XXX_I) 创建Pascal接口单元

CRB_impl:(XXX_impl)创建服务器执行单元申明

CRB_c.pas:(XXX_C) 创建客户段的骨架单元{Client stub unit}

其中_s,_c,_I我们都可以暂时不去看它,_impl就是我们要添加代码的地方这个单元是这样写的

TCRBDBServer = class;

TCRBDBServer = class(TInterfacedObject, CRB_i.CRBDBServer)

protected

{******************************}

{*** 在这儿加入用户自定义变量 ***}

{******************************}

public

constructor Create;

procedure GetData ;

end;

implementation

constructor TCRBDBServer.Create;

begin

inherited;

{ *************************** }

{ *** 在这儿加入初始化代码*** }

{ *************************** }

end;

procedure TCRBDBServer.GetData ;

begin

{ *************************** }

{ *** 在这儿加入过程处理代码 *** }

{ *************************** }

end;

initialization

end.

然后,在你的主控单元中写下如下代码:

1)、uses中添加CRB_c, CRB_i, CRB_impl, CRB_s;

2)、protected

//添加自定义变量

Crb_Server:CRBDBServer;

为客户段创建一个实例

3)、在procedure InitCorba;过程中填写

Crb_Server:=TCRBDBServerSkeleton.Create('Crb服务器',TCRBDBServer.Create);

BOA.ObjIsReady(Crb_Server as _Object);

好你可以激活smart agent运行一下,这样一个简单的服务器端初步完成了。虽然它什么也不干,但是却是一个CRB服务器。下一节,我们将继续讨论,如何创建一个更复杂的CRB服务器。

你试了没有,下一次可又要开始了

**以上是个人看法,如果有不对的地方请多加原谅**
 
展开更多 50%)
分享

猜你喜欢

关于VisiBroker For Delphi的使用(1)

Delphi
关于VisiBroker For Delphi的使用(1)

关于VisiBroker For Delphi的使用(3)

Delphi
关于VisiBroker For Delphi的使用(3)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

关于VisiBroker For Delphi的使用(2)

Delphi
关于VisiBroker For Delphi的使用(2)

关于DEV的TreeList控件的使用(1)

电脑网络
关于DEV的TreeList控件的使用(1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi的Hint(1)

编程语言 网络编程
Delphi的Hint(1)

CSS教程:关于H1的使用技巧

Web开发
CSS教程:关于H1的使用技巧

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

[jsp+php]Windows2000下整合Apache2与Tomcat4

[jsp+php]Windows2000下整合Apache2与Tomcat4

《全民水浒》默认目标及五行实用小技巧

《全民水浒》默认目标及五行实用小技巧
下拉加载更多内容 ↓