关于VisiBrokerForDelphi的使用.docVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于VisiBrokerForDelphi的使用

《关于VisiBroker For Delphi的使用》(3) -CORBA技术实践(一) email: 3boy@ ? 3,数组对象与简单数据对象的传递 前面提到了一些较为简单的数据操作,我们都可以想象一下,如果操作CORBA对象与操作C/S结构的数据对象一样的方便,那么CORBA又有什么神奇了,不知道看过李维的分布式多层应用系统的书籍时,是否留意到李维对CORBA的评价,无论你看过 还是没有看过,我都要告诉正在使用CORBA编程的朋友们,CORBA比COM/COM+简单,而CORBA的跨平台特性,以及与COM/COM+同样的负载平衡能力,足以让我们将这项分布式技术应用到应用体系的设计之中,其实对于使用Borland的产品开发分布式系统无论你采用CORBA或是COM/COM+其实最核心的技术就是MIDAS,因为 你总可以在CORBA/COM/COM+中看到MIDAS的影子,所以我建议无论你是准备学习CORBA还是学习COM/COM+最好先学习一下MIDAS,本文不涉及MIDAS,关于MIDAS请看李维的《Delphi5.X分布式多层应用—系统篇》。 为什么我从开始就一直要大家使用文本编辑器之类的东西书写IDL,而不用TypeLibrary 来书写IDL,其实我觉得只是为了让刚刚接触CORBA的程序员获得一些更多的IDL方面的知识罢了,在实际的开发中你可以完全很方便的使用TypeLibrary来编写接口规则。 下面我简要的列举几类IDL书写的事例与利用IDL2PAS生成的PASCAL代码。 1、)常量的定义 /**IDL书写**/ module MyCRB{ const long iMyConst=1; interface myFace { const long iiMyConst=2; }; }; /**Pascal**/ unit MyCRB_I; interface uses Corba; const iMyCOnst:integer=1; myFace_iiMyConst=2; 2、)不在接口中申明的常量 /**IDL**/ module MyCRB{ const long myconst=1; }; /*pascal*/ unit MyCRB_I; interface const myconst:integer=1; 3、)枚举类型 /*IDL*/ enum MyCRBKind{A,B,C,D,……..} /*pascal*/ myCRBkind=(A,B,C,D……..); 4、)结构体 /*IDL*/ struct mystructtype{ long X; string Y; boolean Z; }; /*pascal*/ //XXX_I.pas type mystructtype=interface; //XXX_C.pas mystructtype=interface function _get_X:integer; function _get_Y:string; function _get_Z:boolean; procedure _set_X(const Value:integer); procedure _set_Y(const Value:string); procedure _set_Z(const Value:boolean); property X:integer read _get_X write _Set_X; property Y:string read _get_Y write _Set_Y; property Z:boolean read _get_Z write _Set_Z; ……. 还有太多的代码,自己创建一个看一下,为了节约篇幅我就不做详细的翻译了 下面请大家试一下以下的申明会生成什么样的Pascal代码 5、)联合体 union un_exp switch(long) { case 1:long x; case 2:string y; case 3:st_exp Z; }; 6、sequence(我理解为动态数组) typedef sequence long UnboundeSeq; typedef sequence long,42 ShortBoundSeq 7, 数组 const long ArrayBound=10; typedef long longArray[ArrayBound]; 8, 抽象接口 module exp{ interface myface{ long op(in string s); }; }; 9,多重继承 module M{ interface A{ void A1(); void

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档