What is a COM Component?

A (OLE) Control Extension (ActiveX .ocx or .dll file) is an application extension required by excutable files (.exe) to perform specific program functions. An example is the CodeJock suite of OCX components, like the CommandBars component that makes it easy for a deveper to create comprehensive, fully customizable menus and toolbars that looks fantastic. The component was introduced with Visual DataFlex 14. Another example is the CodeJock ReportControl that is the foundation for the new grid and lookup classes, which are much more powerful, rich in features and looks way better compared to the old classes. The classes and the CodeJock ReportObject component were introduced with Visual DataFlex 16.


The old way for Windows to know which COM (OCX/DLL) components and versions that were available on a computer was to use the Windows command regsvr32 to register them to the Windows registry. However, this is error prone and makes your application vulnarable to uninstallations made by other programs using the same component. Suddenly your application doesn't function anymore and the user has no idea why.


The new way of handling COM components was introduced with Windows XP and is by Microsoft called "Isolated applications and Side-by-side assemblies". What it means is that you can have your application installed in one folder with all necessary programs and components - all in one place, without any interference from other programs. Your application has every bit of information it needs to operate safe and secure. Thus the technique is much better and makes for more robust installations than the old regsvr32 technique as it isolates your application from other applications that gets installed or uninstalled - thus generating far less support calls and happier users!