- (1) C++ with RAD: Like other RAD controls (such as ActiveX, VCL), RAD C++
controls have properties, events, and methods. Thus they can be used in a RadVC like RAD
environment. Click on the following links to find more on how you can create RAD C++
controls and add these attributes to them.
- Creating and
Using RAD C++ Controls are as Easy as 1-2-3
- Spice up
your C++ Controls with a Touch of RAD
(2) Source Level Code Re-Use: One important aspect of
"Component Based Development (CBD)" is the fact that, components are easy to
reuse. For example, once an ActiveX control is registered / installed in a system
registry, that control can be used in any project in that system.
Unlike "ActiveX" - type binary
controls, code re-use of source-based C++ controls is not that simple. This is so because
most C++ controls are not designed to be project independent, thus the developers have to
copy and paste control source code between projects and modify them according to the needs
of the specific project. Things get even more complex when a control uses resources that
are tightly coupled to a specific project.
RadVC's open architecture lets you design
and develop your C++ controls as self-contained, project independent software modules,
even at their source code level. Furthermore the control resources are managed separately,
so that they can be re-used just like the control source code.
In addition to the project-independent
control creation and development, RadVC's "Single-Click
Setup" lets you assemble (package) and deploy C++ controls in their source
Enabling controls to be developed and
managed at the source level provides maximum flexibility not found in any existing RAD
Architecture, Many Formats: RadVC's open
architecture lets you develop RAD C++ controls in a number of different formats:
(a) Source: The RAD C++ control is comprised
of self - contained, project independent source files. This type of control provides you
maximum power and flexibility, since not only you can extend control functionality, but
you can modify the control source code.
(b) Library: The RAD C++ control is
implemented in a MFC extension library, similar to the RFC library. This type of RAD C++
controls lets you extend control implementation, but does not provide you the flexibility
of modifying control source code.
(c) ActiveX: From the source - type RAD C++
control, RadVC lets you create a fully functional ActiveX control. The ActiveX control may
not be as flexible as the "Source" and "Library" type RAD C++
controls, but they can be used in any ActiveX enabled RAD environment, like Visual Basic.
(d) Interface: The ActiveX control you
create in RadVC, also can be used as a C++ interface control. Since the interface controls
work through direct method calls (similar to COM's dual interface), they are as fast as
the original "source" type RAD C++ controls. More >> Creating a RAD C++ Interface Control
(4) Convertible to
Other RAD Technologies: Since RAD C++
controls are strikingly similar to many modern RAD control architectures (such as
ActiveX), these controls can be easily convertible to other RAD control formats. Click on
the following link to find how a fully functional ActiveX control can be built from a RAD
C++ control: Creating an ActiveX Control from
the C++ Control
(5) "Publish -
Subscribe" type Event: The event model used by RAD C++ open architecture
can be applied to any C++ control. This model is far more powerful than the traditional
event models used by MFC / ATL class libraries. Furthermore these events can be attached
or detached dynamically during the program execution.
inheritance is one of the key new features available in RadVC Open Architecture that will
enhance developer productivity and facilitate code reuse. For example, an organization
could define a standard base form that contains items such as the corporate logo and
perhaps a common toolbar. This form can be used by developers through inheritance and
extended to meet the requirements of specific applications while promoting a common user
interface across the organization. The creator of the base form can specify which elements
can be extended and which must be used as is, ensuring that the form is reused