p align=justify>½¨Á¢Ò»¸öCORBA·þÎñÆ÷
¼Ç²»µÃÇå²½ÖèÁË:-(¡£ÓÖÈ¥¿´ÁË¿´£¬ÒªÒÔϼ¸²½¡£
- Éè¼Æ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

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

¡¡¡¡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ͼ±ê£¬¹ýһС»á¾Í¼û£º

¡¡¡¡£É£Ä£ÌÎļþÀïÄǸö¾ÍÊÇÎÒÏëÓõģ¬Èç¹û²»ÊÇ»¹¿ÉÒÔÓÃ...ȥѡ¡£
¡¡¡¡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£¿ËÄܸæËßÎÒ
Ϊʲô£¿£¡
¡¡¡¡ÏȲ»¹ÜÁË£¬·´Õý·þÎñÆ÷ÊÇ×öºÃÁË¡£