Marek Cichy
2009-03-27 01:51:23 UTC
Hi all
I finally created a CORBA server which works properly as a Windows
console application (using VS 9.0). I have to create another one, but as
a Win32 application. So, I just copied the code from one to another, and
something works. My question are:
Where do I have tu put ORB's initialization sequence in order to not to
lose control over application window after call orb->run()?
Is it possible to initialize orb without command line parameters?
ORB_init()?
Below is a std code created by VS and ORB initialization injected inside.
Thanks in advance for any help
Marek Cichy
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
int argc;
char* argv[1];
try {
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init(argc,argv);
// Get reference to Root POA.
CORBA::Object_var obj = orb ->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
// Activate POA manager
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
// Create an object of Simple_If_Impl
Simple_If_Impl* simple_servant = new Simple_If_Impl();
PortableServer::ObjectId_var mySimpleId =
poa->activate_object(simple_servant);
ISimple_Interface_var siv = simple_servant->_this();
if( !bindSimpleToName(orb, siv) )
return 1;
// Write its stringified references to stdout
CORBA::String_var strSimple = orb->object_to_string(siv);
// Accept requests
orb->run();
}
//catch omitted
return 0;
I finally created a CORBA server which works properly as a Windows
console application (using VS 9.0). I have to create another one, but as
a Win32 application. So, I just copied the code from one to another, and
something works. My question are:
Where do I have tu put ORB's initialization sequence in order to not to
lose control over application window after call orb->run()?
Is it possible to initialize orb without command line parameters?
ORB_init()?
Below is a std code created by VS and ORB initialization injected inside.
Thanks in advance for any help
Marek Cichy
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// TODO: Place code here.
MSG msg;
HACCEL hAccelTable;
int argc;
char* argv[1];
try {
// Initialize orb
CORBA::ORB_var orb = CORBA::ORB_init(argc,argv);
// Get reference to Root POA.
CORBA::Object_var obj = orb ->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
// Activate POA manager
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
// Create an object of Simple_If_Impl
Simple_If_Impl* simple_servant = new Simple_If_Impl();
PortableServer::ObjectId_var mySimpleId =
poa->activate_object(simple_servant);
ISimple_Interface_var siv = simple_servant->_this();
if( !bindSimpleToName(orb, siv) )
return 1;
// Write its stringified references to stdout
CORBA::String_var strSimple = orb->object_to_string(siv);
// Accept requests
orb->run();
}
//catch omitted
return 0;