C++Builder Uses DAX for ActiveX and COM

From RAD Studio
Jump to: navigation, search

Go Up to Overview of COM Technologies


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\ATL directory from your previous product installation to the following directory in your XE product installation:
    include\Windows\SDK\ATL
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.

Topics

See Also