[fpc-pascal] CORBA interfaces: no IInterface and TInterfaceList support

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Sun Oct 9 00:13:17 CEST 2016


Hi,

Why doesn't CORBA have the equivalent of IInterface?

I have to resort to creating something like this.

type
  IEmptyInterface = interface
  ['{C2196B92-8D96-11E6-A5D6-C86000E37EB0}']
  end;


and and then make sure all my CORBA interfaces descend from
IEmptyInterface. The reason I need to do this is because I'm creating
code that works purely with interfaces, but CORBA doesn't have a base
type I can use as a parameter - which I think is just wrong or at least
not optimal.

This brings me to the second point... No TInterfaceList for CORBA style
interfaces either. I'm guessing the reason it doesn't exist is again
down to the fact that there is no base type for CORBA interfaces. To
work around this, I have to use a TFPList as casting. One glaring
problem with using TFPList, is that it is NOT thread safe, whereas
TInterfaceList is a thread safe list. So another thing I'll have to
implement myself.

The RTL is all about convenience for the developer, but as it currently
stands, CORBA interfaces don't seem to get much love from the RTL.
Whereas if you use COM interfaces, there are plenty of useful things in
the RTL.

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp



More information about the fpc-pascal mailing list