C++Builder Uses DAX for ActiveX and COM
Go Up to COM Basics
C++Builder XE is changing the underlying ActiveX framework for new projects to Delphi ActiveX Library (DAX), which has always been used for Delphi ActiveX projects. The previous framework was the Active Template Library (ATL). You can continue to support and create ATL-based projects after copying the necessary ATL support files from your previous product installation.
All New COM Projects Use DAX (Delphi ActiveX)
All new projects that use COM servers/clients or automation objects now default to DAX. This applies to both Delphi and C++.
For example, if you add an ActiveX Object to a non ActiveX project or if you create a new ActiveX Library, the IDE generates DAX-based code.
If you edit an interface in the Type Library Editor, the code that is generated when you click the Refresh button now uses DAX, not ATL.
Options for ATL-Based C++ ActiveX/COM Projects
For pre-existing projects that use ATL, you have two choices:
- Recreate and recompile your project in C++Builder XE. Doing this effectively converts the ATL project to a DAX project. Doing this ensures that you have ongoing support for your COM objects, ActiveX controls, or Active Forms.
- Copy the
include\ATLdirectory from your previous product installation to the following directory in your XE product installation:
- Doing this enables you to maintain your pre-existing ATL project, make changes to it, and rebuild the project. However, although you can do this, C++Builder has no ongoing support for ATL-based COM objects, ActiveX controls, or Active Forms.
- Class Hierarchy in an ActiveX Control (DAX)
- Diagrams of Three DAX Interface Helper Classes
- Code Generated by Wizards (DAX)
- ActiveX Controls
- Developing COM-based Applications Index
- Using ActiveX controls Index
- Registering a COM Object
- Current-User Registration for ActiveX Servers
- __property implements Support for ActiveX
- Implementing Interfaces: Delphi and C++