[fpc-devel] Considerations about observer [was: Free Pascal 2.6.2 rc1]

michael.vancanneyt at wisa.be michael.vancanneyt at wisa.be
Wed Nov 28 13:59:01 CET 2012



On Wed, 28 Nov 2012, Marco van de Voort wrote:

> In our previous episode, michael.vancanneyt at wisa.be said:
>>>> At some point, there must be an object, and at some point, there is a
>>>> typecast,
>>>
>>> You often can't reroot external components, but if they support tcomponent
>>
>> What does "reroot external components" mean ?
>
> (Change the root of their inheritance tree. e.g. something that doesn't
> inherit from interfacedobject to inherit from it)
>
>>> (and thus Tinterfacedobject), you can add an interface in a child class.
>>
>> The interfaces are CORBA, so there is no need for TInterfacedObject.
>
> Ok. I assumed they also had to be COM compatible because of tiopf.
>
>> That the interface is CORBA was a conscious decision so reference counting
>> and all the overhead associated with it was avoided. As far as I know, this
>> rules out COM provided interfaces (if this is what you refer to by external
>> components). That is a tradeoff I find acceptable.
>
> For me personally that is unacceptable. But that is not with just an FPC hat
> on.

The probability of using COM with the observer interface is IMHO almost zero.
That's simply not the main intended use case, in casu: GUI elements observing
business objects: both will normally be in-process.

Given the benefit of no reference counting and all that implies
(TInterfacedObject etc), it was obvious that CORBA interfaces 
were the way to go.

Michael.



More information about the fpc-devel mailing list