ÄãµÄλÖãºÈí¼þ> Éè¼ÆÔÚÏß> ÍøÒ³ÌÕ°É> ¼¼Êõƽ̨> HTMLѧϰ>
BCB»·¾³ÏÂCORBAʵ×öÖ®×Ô¼º¶¯ÊÖ£¨ÉÏ£©
2000-07-16 00:00:00¡¤ Çë×÷ÕßÓëÎÒÃÇÁªÏµ¡¤-

p align=justify>½¨Á¢Ò»¸öCORBA·þÎñÆ÷

¼Ç²»µÃÇå²½ÖèÁË:-(¡£ÓÖÈ¥¿´ÁË¿´£¬ÒªÒÔϼ¸²½¡£

  1. Éè¼ÆServer¶ÔÏó½çÃæ

¡¡¡¡¾ÍÊǽ¨Á¢Ò»¸öIDLÎļþ¡£ÕâÒ²¾ÍÊÇ˵£¬ÒªÏÈÉè¼ÆºÃ·þÎñÆ÷µÄ¶ÔÏó½á¹¹£¬²»¹ýºÃÔÚBCB¿ÉÒÔ¸ù¾ÝIDLÎļþµÄÐÞ¸Ä×Ô¶¯¸üÐÂÆäËüÉú³É´úÂ룬ÎÊÌâ²»´ó¡£°³ÇÒ×öÒ»¸ö×î¼òµ¥µÄ°É£º·þÎñÆ÷¶ÔÏó½çÃæÎªStockServer£¬¸Ã¶ÔÏóÖ»ÓÐÒ»¸östring getName();·½·¨¡£½«À´¿Í»§¿ÉÒÔµ÷ÓÃËüÈ¡µÃTCorbaTestObjÃû×Ö¡£

//testobj.idl
interface StockServer{
string getName();
};

¡¡¡¡°³°ÑËü´æÔÚprojects\tstcorbaobject\testobj.idlÀï¡£ÒÔºó¶¼ÔÚÕâ¸öĿ¼À﹤×÷¡£
×¢Ò⣺×îºóÄǸö";"Ò»¶¨ÒªÐ´£¡²»È»±àÒë»á³ö´í¡£ÕâÊÇIDL£¬²»ÊÇC++¡£

2¡¢Ê¹ÓÃCORBA server wizard½¨Á¢·þÎñÆ÷Ó¦ÓóÌÐò

File | New£¬ÔÙÏÂÃæµÄ¶Ô»°¿òÖÐÑ¡Multitier, CORBA Server
New Items

¡¡¡¡½Ó×Å£¬ÔÚWizardÀïÑ¡Windows Application£¬²¢ÓÃAdd...¼ÓÈëtestobj.idl
CORBA Server Wizard

¡¡¡¡OK£¬×Ô¶¯Éú³ÉProject1.cpp¡£½«Ëü´æÎªtestserver.cpp
¡¡¡¡¸Õ²ÅÔÚbcb5+vbroker4ÏÂÊÔÁËһϣ¬·¢ÏÖͬʱÉú³ÉÓÐform1£¬µÚÒ»¸ö¶Ô»°¿òÎʵÄÊÇunit1µÄÎļþÃû×Ö£¬Ëæ±ã¸øÒ»¸öºÃÁË£¬¿É²»ÒªÅª»ìÁË»òÕßȡͬÑùµÄÃû×ÖÓ´¡£ 2000.3.29

3¡¢±àÒë°üº¬½çÃæ¶¨ÒåµÄIDLÎļþ£¬µÃµ½¿ò¼Ü¼°´æ¸ù¡£

¡¡¡¡Çл»µ½testobj.idl£¨¸ÃÎļþÈç¹ûûÔڱ༭´°Àï¾ÍÓÃCtrl+Alt+F11£¬ÔÙË«»÷Õâ¸öÎļþ´ò¿ª£©£¬Ñ¡Project|Compile Unit¡£

¡¡¡¡Õâʱ£¬·¢ÉúÁËÒ»¸öС¹ÊÕÏ£ºFail to run IDL2CPP.EXE£¬ÏµÍ³ÕÒ²»µ½Îļþ¡£ÐÒºÃÎҼǵð³µÄVisiBroker3.3 for C++×°ÔÚD:\Visibroker33ÀÕâ¸öÎļþÔÚbinĿ¼ÀÓÚÊǵ½ÎҵĵçÄÔ£¬ÊôÐÔÀïÕÒµ½»·¾³Ò³£¨NT4£©£¬ÔÚCLASSPATHÀï¼ÓÉÏd:\vsbroker33\lib\vbcpp.jar£¬ÔÚPATHÀï¼ÓÉÏd:\vsbroker33\bin;d:\vsbroker33\jre\bin;È·¶¨¼´¿É£¬²»ÓÃÖØÆô¡£

¡¡¡¡±àÒëÖ®ºó£¬´úÂë±à¼­´°ÓÖ¶à³öÁ½Ò³À´£ºtestobj_s.cpp£¨¿ò¼Ü£©ºÍtestobj_c.cpp£¨´æ¸ù£©¡£

4¡¢ÓÃCORBA object wizard¶¨Ò壨²¢ÊµÏÖ£©ÊµÏÖÀà¡£

¡¡¡°ÊµÏÖ¡±Í¦Þֿڵģ¬ÓÐʱÊǶ¯´ÊÓÐʱÊÇÐÎÈÝ´Ê£º

  • ½çÃæµÄʵÏÖÀ࣠¾ÝIDLÎļþ¶¨ÒåµÄ½çÃæÉú³ÉµÄÀ࣬¸ÃÀàʵÏÖÕâ¸ö½çÃæ£¬
    BCB¿ÉÒÔ×Ô¶¯Íê³É£¬ÕâÑùÉú³ÉµÄʵÏÖÀàÖ»Óпհ׷½·¨
  • ʵÏÖÀàµÄʵÏÖ£º±àд·½·¨´úÂëµÈ£¬°ÑÉÏÃæÌáµ½µÄ¿Õ¿ÇʵÏÖÀà±ä³ÉÕæÕýÓÐÓõÄÀà¡£

¡¡¡¡ËùÒÔÏÖÔÚ£¬°³ÒªÉú³ÉʵÏÖÀࣨ¾ÍÊÇÄǸö¿Õ¿Ç×Ó£©¡£

File|New£¬´Ó¶Ô»°¿òµÄmutitierÒ³ÖÐÑ¡ÔñCORBA Object Implementationͼ±ê£¬¹ýһС»á¾Í¼û£º
CORBA Object Implement wizard

¡¡¡¡£É£Ä£ÌÎļþÀïÄǸö¾ÍÊÇÎÒÏëÓõģ¬Èç¹û²»ÊÇ»¹¿ÉÒÔÓÃ...ȥѡ¡£

¡¡¡¡Interface NameÂÕâ»áÖ»ÓÐÒ»¸ö¿ÉÓþÍÊÇStockServer¡£

¡¡¡¡ÊµÏÖÀàµÄµ¥ÔªÃû×Ö£¬StockServerServerҲͦºÃ£¬¾Í²»¸ÄÁË¡£

¡¡¡¡ÀàÃû×Ö¾ÍÓÃËüĬÈϵĺÃÁË¡£

¡¡¡¡ÆðʼʱÔÚmain()ÀïʵÀý»¯¶ÔÏóºÃÁË£¬Õâ¸ö¶ÔÏóʵÀýÃû×־ͽÐStockServerObjectºÃÁË¡£¶à¸öʵÀý£¨°´...¼ÓÈ룩¾ÍÒÔºóÔÙÊÔºÃÁË£¬ÏÖÔÚÇÒ×ß×Å¡£

£Ï£ËÖ®ºó£¬´úÂë±à¼­´°¿ÚÀïÓÖ¿ªÁËÒ»Ò³£ºStockServerServer.cpp

5¡¢ Íê³É4½¨Á¢µÄÀàʵÏÖCORBA¶ÔÏó

¡¡¡¡ÔÚStockServerServer.cppÀïµ×²¿µÄgetName(){}Àï¼ÓÒ»¾ä£¬Ê¹Ö®³ÉΪ£º

char* StockServerImpl::getName()
{
return "CorbaServerTester";
}

Project MakeÖ®£¬»áÓÐÒ»¸öwarning¡£°³²ÂÄǸö¶¨Ò嵫δʹÓõıäÁ¿ÊÇÓÃÀ´´¦ÀíÈë¿Ú²ÎÊýµÄ¡£

¡¡¡¡ºÃÁË£¬ServerÖÆ×÷Íê³É¡£ÂýÀ´ÂýÀ´£¡F9ÁËһϣ¬¾ÓÈ»£¬Exception!

¡¡¡¡ÍüÁË£¬»¹µÃҪע²á£É£Ä£ÌÎļþÄØ£¡²»¶Ôѽ£¬Ã÷Ã÷˵²»ÊDZØÐèµÄÂÏÈÊÔÊÔ¡£

¡¡¡¡²»Á飡

¡¡¡¡Ïִ滳ÒÉÊÇDelphiËù´ø3.2ÓëCBuilderµÄ3.3»¥Ïà¸ÉÈÅ£¬ÓÚÊÇÓÃÒÆÈ¥3.2ÓÃ3.3È¡´úÆäĿ¼£¬²»Á飡

¡¡¡¡Ã»ÕÐÁË£¬ÓÚÊÇ´ò¿ªÒ»¸öVBroker3.3 for c++´øµÄÀý×ÓÊÔÊÔ£¬¹þ¹þ£¬»¹ÊDz»Á飡

¡¡¡¡Õâ¾Í²»ÊdzÌÐòµÄÎÊÌâÁË£¬¿´À´ÊÇVBrokerµÄÎÊÌâÁË¡£

¡¡¡¡²»¶Ô²»¶Ô£¬°³ÔڣɣģÅÖ®ÍâÔËÐа³µÄ£Ó£Å£Ò£Ö£Å£ÒºÍVBroker3.3µÄAccount Server¶¼ºÃºÃµÄ£¬²»¹ý²âÊÔÆªËµµÄTest¹¤¾ßÒ»¸ö¶ÔÏóÒ²ÕÒ²»µ½¡£ÓÖ¿´ÁË¿´VisiBrokerµÄ˵Ã÷£¬ÒªÇóÔÚwinÏÂÓÃstart xxxÀ´Æô¶¯£¬ÎªÊ²Ã´²»Ö±½ÓÔËÐÐxxx£¿Ë­ÄܸæËßÎÒ

Ϊʲô£¿£¡

¡¡¡¡ÏȲ»¹ÜÁË£¬·´Õý·þÎñÆ÷ÊÇ×öºÃÁË¡£



¡¾·¢±íÆÀÂÛ¡¿¡¾¹Ø±Õ´°¿Ú¡¿


.BCB»·¾³ÏÂCORBAʵ×öÖ®×Ô¼º¶¯ÊÖ£¨Ï£©
.ÍòÄêÀæ³Ô·¨Ö®ÎÒ¼û
.ÍòÄêÀúµÄ³ÌÐò´úÂë
.cÓïÑÔѧϰÈռǣ¨£³£©