Hi
I do it like this:
{$interfaces corba}
{ this is the ancestor for my corba interfaces }
ICorba = interface['{3563A63E-8C1A-40E1-9574-3E4171BB3ACF}']
function Obj: TObject;
end;
This gives me access to the underlying class for e.g. '.Free;' and TObject implements 'GetInterface'

With this ancester I stear clear of @Thaddy's /pitfalls/ -- Mind you, our dear Thaddy is 231% -against- CORBA ~ tkInterfaceRaw, I've tried along with others to convince him, that both have their uses, alas to no avail
THIS is built using both types of interfaces and it works. So is
THISSo don't let Thaddy intimidate you, my code works with FPC 3.2.2 .. 3.3.1, he was showing you features from 3.3.1 ~ trunk.
I almost always agree with Thaddy, until we hit Interfaces, here our opinions differ totally

...and that's fine so, I wouldn't have it any other way

Regards Benny
edit: Thaddy made an addendum and he's completely right, that's the way to turn off ref-counting in a safe way and I have contemplated it, but have a hard time, telling which intf among many, that is -not- refcounted, when they're all COM
