Magnus Therning wrote:
2. (This relates to the NameResolve example) I couldn't get
CORBA.ORB_init() to accept sys.argv (and hence I couldn't register a
name-service with -ORBInitRef NameService=IOR:... on the command
line. I probably made some trivial mistake. Any pointers?
This was a bug that has been fixed in CVS. But I don't think there has
been a release since then.
3. (This relates to the Factory example) With interfaces like this:
module M {
interface IA { .. };
interface IB { IA createA(); };
};
and Python classes like this:
class myIA(M__POA):
...
class myIB(M__POA):
...
then myIB.createA() can't be naively implemented like this:
def createA(self):
return myIA()
but has to
1. create, and keep an instance of myIA alive
You need to keep a reference to the implementing object because CORBA
references (remote and local) don't count in Python's reference
counting/garbage collection mechanisms.
2. return that instance's _this()
The CORBA spec says something like you can't assume that the
implementing instance is suitable for calling methods on. You have to do
things through a stub. I seem to recall reading there are some pretty
important reasons for this relating to the POA, but I can't remember
what they are right now.
--
Bowie Owens
CSIRO Mathematical & Information Sciences
phone : +61 3 9545 8055
fax : +61 3 9545 8080
mobile : 0425 729 875
email : [EMAIL PROTECTED]
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/