All I can say is it worked for two trivial examples on my machine (GNU/linux-i386).
For example, look at echo.idl from the ORBit source distribution:
// IDL interface Echo { Echo echoString(in string astring, out long anum); };
Suppose you've started the echo-server and got its IOR. Then in Tcl you can do:
% load torb.so Torb % % set ior IOR:01f2ffbf13000... % # Initialise the ORB % torb init % % # Convert the IOR to an object reference % set echo [torb string_to_object $ior] torb_obj1 % % # Note torb_obj1 is the object reference within Tcl. It's also been % # defined as a command, though currently the only marginally useful % # thing you can do with the command at the moment is: % $echo _hash 1000000 294819 % % # That was exciting wasn't it? % # Right, let's do the echoString call using the DII interface. % # We tell it the types of in and out arguments, i.e. one string % # input, outputs are an Object and a long. % torb dii $echo echoString {0} {O l} "wibble" torb_obj2 65 % % # Note it's returned a list: first element is another object % # reference, second is a long value.