COM is not the only architecture where interfaces are used. CORBA knows interfaces, UNO (the
OpenO ce API) uses interfaces, and Java as well. These languages do not know the IUnknown
interface used as the basis of all interfaces in COM. It would therefore be a bad idea if an interface
automatically descended from IUnknown if no parent interface was speci ed. Therefore, a directive
f$INTERFACESg was introduced in Free Pascal: it speci es what the parent interface is of an
interface, declared without parent. More information about this directive can be found in the
Programmers guide.
Note that COM interfaces are by default reference counted. CORBA interfaces are not necessarily
reference counted.