[Lazarus] IUnknown and reference counting

Michael Schnell mschnell at lumino.de
Thu Mar 21 12:45:25 CET 2013


On 03/21/2013 12:30 PM, Graeme Geldenhuys wrote:
> On 2013-03-21 08:33, Michael Schnell wrote:
>> parameters to the IDE when designing the program ? Based on this, COM /
>> CORBA / ORB might be described as specializations of the concept.
> I'm not sure I understand your question.
>
> COM is Component Object Model and DCOM is Distributed Component Object
> Model, developed by Microsoft. This only works on the Windows platform.
> That is how the do ActiveX, and how Delphi does multi-tier support with
> MIDAS (using DCOM).
That is exactly why I think the *language-concept* (here a thingy that 
provides reference counting, auto-creation and auto-deletion of an 
instance etc of a classes instance) should be described independently of 
COM, DCOM, Axtive X, MIDAS and such things that are not related to the 
language itself, while the language concept/syntax - being useful in 
itself, anyway, can *additionally* be used to allow the programmer to 
handle  COM, DCOM, Axtive X, MIDAS and such things.

> In terms of Free Pascal and Interfaces support. COM style interfaces
> simply means they are _compatible_ with Microsoft COM, and are reference
> counted. CORBA style interfaces are _compatible_ with how interfaces are
> implemented in the CORBA standard, and there they are not reference
> counted.
Yep. But IMHO calling them something like "reference counting 
interfaces" and  "not reference counting interfaces" instead of "COM 
style interfaces" and "CORBA style interfaces" would be a lot more 
appropriate, as they are defined and usable for completely other stuff 
as well. In fact the term "interface" is rather misleading (as they are 
defined and usable for completely other stuff as well), but this of 
course is a Delphi heritage.

> For more information on COM, DCOM, CORBA and XPCOM technologies, search
> WikiPedia.
>
Not necessary because (I already know) and *here* I am interested in the 
language concepts and not in the environment of the IDE or the program 
to be created.

-Michael




More information about the Lazarus mailing list