[Kde-accessibility] qt questions

Volker Hilsheimer vohi@trolltech.com
Fri, 6 Dec 2002 10:20:57 +0100


> Short question about this.
> Isn't COM (the COM you're talking about) a Microsoft technology ? Does
this
> code compile or will compile in Linux ?
> Thanks.

Microsoft COM is two parts:

- The COM libraries which are part of Windows and handle RPC,
marshalling etc. transparently (ie. the COM object client doesn't have
to care about inprocess vs. outprocess vs. distributed servers)

- The COM interfaces, which are basically pointers to virtual tables,
hence easy to express in C++ using pure virtual classes (or structs),
and cross platform

COM uses __stdcall APIs for the interfaces (ie. the "pascal" calling
convention), which is legacy and boring (ie. OLE was a Win16 invention
where __stdcall was required IIRC).

The QCom stuff was embracing the idea of interface based programming,
and handled only the inprocess case (similar to XPCOM AFAIK - if you
want out-process support you have to support it in your client and
server yourself). QCom is currently used in Qt for all plugin related
mechanisms, e.g. style plugins, designer custom widget plugins etc. This
of course works on all systems Qt supports.

--
Volker