These controls rely on interfaces instead of base classes. They can connect to anything that provides the interfaces they need.
Very fine interface granularity.
Very stable and accurate error handling implemented.
Data aware OLE container that can read data stored by MS Access.
Data aware mediaplayer.
All BLOB controls recognizing dropped files.
Datagrid that provides simple solutions to navigation and editing, and produces the least data traffic possible.
Very fine notification granularity saving overhead and providing features other designs cannot provide.
Very flexible component connections via standard MS IConnectionPoint and IConnectionPointContainer interfaces.
All interface parameter types are OLE automation compatible. So Provided with a TypeLib these controls may connect to data containers on another computer.
Multi source and group source links to combine data from multiple containers to appear like a single data container.
Data source state changes may be reflected by color change.
Relying on interfaces instead of base classes has two major advandages:
A new data container may derive from any class. You are not forced to use Units with certain base classes.
No overhead code is linked to your application when building a simple new data container
because of using other heavy weight units just to derive from a certain class.
Because of the fine interface granularity
only a few methods need to be implemented to be able to connect controls to the container.
The more interfaces are implemented by the container the more features get available.
This allows to build very complex applications and still keeps simple applications small.