[fpc-pascal] problems with CORBA interfaces having no base type
Sven Barth
pascaldragon at googlemail.com
Tue Sep 20 09:31:10 CEST 2011
Am 20.09.2011 08:40, schrieb Graeme Geldenhuys:
>
> IObserver = interface
> ['{7504BB57-65D8-4D5D-86F1-EC8FFED8ED5E}']
> procedure Update(const Subject: IInterface);
> end;
>
>
> How do I translate this to CORBA-style interfaces. CORBA interfaces
> don't have a base type like all COM interfaces have (eg: IUnknown) or
> objects have (eg: TObject).
>
> Any ideas on how I should translate the above code? Must I use the
> Pointer type again? That just looks ugly, and gives no hint to the
> developer that Update() can take any interface type.
I personally would declare my own basic interface class and derive all
other interfaces from that... This of cours only works if anyone adheres
/ can adhere to that rule.
> Why couldn't CORBA interfaces also descend from IInterface, but in the
> case of CORBA style interfaces that doesn't mean it's a IUnknown
> descendant. That way we will have a generic interface type to use in
> such generic code situations.
Because IInterface is designated as a COM-interface and you can't
descend a CORBA-interface from a COM-interface or vice-versa. Also it's
not possible to declare IInterface as a CORBA-interface, because another
unit might use COM-interfaces and then the COM-style IInterface is needed.
Regards,
Sven
More information about the fpc-pascal
mailing list