当前位置: 首页 > 图文教程 > 开发语言 > Delphi > 关于VisiBroker For Delphi的使用(1)

Delphi
闪动标题栏
制作真正的TopMost窗口
制作类似WinAmp一样的“磁性”窗口
不可移动的窗口示例代码
自制替换指定串函数
Delphi中RichEdit的奥妙
Delphi数据集过滤技巧
为VB应用程序定制浮动提示
DELPHI图形编辑技巧二则
Delphi使用技巧两则
Delphi 3.0中的函数调用模式
Delphi3中制作快速按钮条
Delphi 4增订的Object Pascal
Delphi3.0中的函数调用模式
DCU文件(编译的库单元)的重用
命令行参数的使用
在编译时获得提示
运行时生成控件
任意打印
分行提示

关于VisiBroker For Delphi的使用(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 69 ::
收藏到网摘: n/a

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

宜昌市中心人民医院 赵普昉 email: [email protected]

一、如何创建服务器对象

在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服务器。

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

**以上是个人看法,如果有不对的地方请多加原谅**