BCB中Corba Name Service使用方法
现最后的REPOSITORY里OBJECT NAME里出现了一个OrderObject。
-------------------------------------------------------------------------------- 下边就做个Client来试试访问。 1、File | New,Consol Wizard,做一个不支持VCL的consol应用。 2、Project| Add To Project,将选前边做server时写的order.idl加进来。 3、File | Save All,取名为tcnClientConsol.bpr(.cpp),存到server同一目录里。(在其下建立一个client子目录似乎也不错)。 4、Edit | Use Corba Object,IDL File已经填好,如果不对手动改为order.idl,Interface选Order,Object Name写OrderObject(做服务器时指定的)。其余不改,确定。 5、注意此时主程序中已经完成了orb和boa的初始化工作。注意,注释掉boa->impl_ready();! 6、在主程序头部加上#include "CosNaming.hh",并将$(VBroker)\lib\name_br.lib加进Project。 7、在main()的那个try的最后,加上如下代码:
cout<< "test result: "<<order->Name()<< endl; 8、启动服务器并绑定名字给它,然后运行客户程序。要说明的是如下几点:首先我们在服务器中没有注销名字的动作,所以用绑定过的名字再来启动服务器就会提示已经绑定过的提示并自动退出,所以每次要用不同的名字来启动服务器,或每次都将test.log删掉后从头做。其次如果test.log不清除,那只要有一个服务器的实例在运行,就可以使用定义过的任何一个名字来取得服务器对象引用。第三测试过程可以不退出nameextf这个factory,省掉操作,而如果不删除test.log的话,重启nameextf后,它会自动恢复到上次退出时的状态,即所有的名字仍可使用。最后,如果进行名字绑定的那个对象实例在内存中,那么使用该名字访问该对象速度最快,用其它名字则要慢很多(3~5秒)。 -------------------------------------------------------------------------------- 做一个漂亮的Windows客户 1、File | New,Multitier,Corba Client,GUI型,IDL选order.idl。 2、Edit | Use Corba Object,Interface选Order,ObjectName填OrderObject。 3、File | Save All,Project存为tcnClient.bpr,unit1.cpp存为OrderClient.cpp 4、Form1 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |