[Lazarus] IUnknown and reference counting

Graeme Geldenhuys graeme at geldenhuys.co.uk
Thu Mar 21 12:30:42 CET 2013


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).

CORBA is Common Object Request Broker Architecture. A standard defined
by the Object Management Group (OMG), and is a competing technology to
DCOM. CORBA works on multiple platforms, and has a lot more
functionality that DCOM. eg: CORBA can also be used instead of
WebServices, has clearly defined interfaces and objects that are passed
around between systems. You can then call methods on those objects -
just like classes. This is just the tip of the iceberg of that CORBA can
do. BTW: The Gnome desktop environment is built on top of CORBA too.
JAVA uses CORBA extensively.

ORB is Object Request Broker. You need this, through which a CORBA
application will interact with other objects. Most ORB implementations
are commercial, but there is a Delphi implemented version called mtdORB
on SourceForge.net, and a few other implementations in other languages.


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. Simply using these two types of Interfaces in your applications
don't make them dependant on Microsoft COM technology or CORBA technology.


For more information on COM, DCOM, CORBA and XPCOM technologies, search
WikiPedia.

Regards,
  - Graeme -

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





More information about the Lazarus mailing list