> On Aug 11, 2014, at 11:49 AM, Adriano dos Santos Fernandes > <adrian...@gmail.com> wrote: >
>> > COM is full of problems: > - UTF16 > - HRESULT with TLS access to errors > - No real OOP, just object composing with QueryInterface > - Ref. counting for all sorts of objects > > This what I mean by ignorance. COM was originally defined using 16 bit Unicode, not UTF-16. When it was defined, UTF-16 didn't exist. I don't know the status of UTF-8, but will look and report. COM defines a number of interfaces, the more important of which is queryInterface. User defined interfaces have no constraints on error handling other than that they should use exceptions, though this is something that can't be enforced. COM defined interfaces does specify error handling. HRESULT is just an artificial type. Look it up. I think you could handle it. Of course COM is an OO-technlogy. I don't know what you mean by "not real OO", so I guess that is an Adriano-ism. COM is a language independent wrapper for objects with multiple interfaces. It says nothing about the implementation of the object. COM objects are reference counted. Reference counting is an near universal mechanism for controlling object lifetime in non-garbage collected systems. I presume you understand referencing counting, but perhaps you could your express your objections to it. We would get places faster if people would do their research before trying to shoot something down. It does suggest that they are more interested in winning than finding the best technical solution to a problem. Is COM the perfect solution to all problems? No, of course not. But it is very good solution for both structuring plugins and more delivering engine functionality to plugins in a stable, maintainable, efficient, and extensible manner. > Adriano > > > ------------------------------------------------------------------------------ > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel