On 06/10/16 11:08, Graeme Geldenhuys wrote:
I've seem some
COM Interface code where they had to resort to using raw Pointer types
etc to try and avoid reference counting and causing unexpected memory
leaks.
I have also seen plenty of examples of poor coding with classes, but the fact that someone writes bad object oriented programs doesn't mean that object oriented is a poor programming technique. Likewise, poor programming using com interfaces doesn't invalidate the use of com interfaces.

When you work with interfaces, there are two issues to consider:

1. How easy is the interface to use
2. How do you write the underlying classes.

To me, the first rules out delegated interfaces and COM. Even advanced level programmers will get it wrong and you will never get an easy to use interface with this combination. It looks like a design error that came from Delphi and was copied by FPC. However, if you rule out this combination, COM does make for what seems to be a very intuitive easy to use interface, in the same way that AnsiStrings are easy to use.

On the other hand, implementing the classes that provide a com interface does require some skill and is not for everyone.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to