I've made the simple mico/gtk demo in mico/demo/dispatcher/gtkmico and it works fine.  So I added onto the IDL to come up with this..
module HelloModule {
  interface HelloClient {
     void clientHello(in string stringIn);
  };
  interface HelloServer {
    void hello(in string stringIn);
    void checkClient(in HelloClient clientIn);
  };
};
I got this part to work as well (client calls server->checkClient(this) and server then calls clientIn->clientHello("back at ya")).
 
So then I changed the server to be a non-gui server and created an imr to activate it.  So stand alone server can be started by just starting the client, or using an imr activate HelloServer.  However, the client bombs on the following call...
CORBA::Object_var serverObj=orb->bind("IDL:HelloModule/HelloServer:1.0");
 
If I use the -ORBDebugLevel 5 -ORBDebug all when starting the client, I get the following..
IIOPProxy::add_invoke: .....
 Out Data ...
ORB::wait for 0x80f5478
Memory fault
 
There are 2 way to make it work (neither of these work for my application).
1.  Change all of the interface functions to oneway
2.  perform an iordump on the server ior and get the address (most specifically the port), then call Client -ORBBindAddr with the address
 
So after this long explaination, my questions are..
How do I allow non-oneway function calls when using the GtkDispatch?
How can I get the address of the server before I call orb.init()?
 
Everything works fine when I don't use GtkDispatch (but then I'm not in a gui environment).  I've been scratching my head, and made progress, but I still need some help.
Any suggestions would be great, because I'm out of ideas.
Mark


Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
_______________________________________________
Mico-devel mailing list
[email protected]
http://www.mico.org/mailman/listinfo/mico-devel

Reply via email to