[fpc-pascal] Corba Interfaces and IInterface query

Sven Barth pascaldragon at googlemail.com
Sun Nov 14 16:25:04 CET 2010


On 14.11.2010 14:58, Marco van de Voort wrote:
> In our previous episode, Graeme Geldenhuys said:
>> This is exactly what I am saying IInterface is a non-COM interface in
>> Kylix
>
> Please leave IInterface alone. It took me a week of work to let the current
> IInterface=IUnknown alias propagate properly in fpdoc's internal structures :-)

@Graeme: I'd say this is a much better reason than "Delphi 
compatibility" for not touching the definition of IInterface, don't you 
think? :D

Besides think about the following:

Let's say IInterface would be changed to be the base ancestor type for 
Corba interfaces. What about existing classes that implement IInterface 
(which currently declares QueryInterface, AddRef and Release, cause 
IInterface=IUnknown)? Do they suddenly become "Corba implementing" 
classes? What about code that relies on the fact that reference counting 
works (although not in the same way as in the recent discussion about 
that...)?

It would be a too big change. Like the resolution for "internal error 
200111022" ( 
http://www.hu.freepascal.org/lists/fpc-devel/2010-October/022478.html 
and http://bugs.freepascal.org/view.php?id=17675 ) was "allow in all 
modes" although it would have been nice to disallow that in mode objfpc. 
It would have broken just to much code. "The damage is done", so to say.

If anything than there could be a "ICorbaInterface" addad as a base 
ancestor for Corba interfaces. But please note that there is another 
inheritance supporting type that does not have a specific base class: 
OBJECT.

Regards,
Sven




More information about the fpc-pascal mailing list