Datasheet
Developed by: John Walker, JSW Technology
Distributed by: Aonix
Copyright John Walker & JSW Technology 1997-2000.
All Rights Reserved.
The information contained herein is subject to change without notice.
ObjectAda is a trademark of Aonix
Microsoft, Visual C++, Win32 and Windows NT are trademarks of Microsoft, Inc.
Last updated: 10 February 2000
Contents
Go back to Ada Foundation Classes
- Ada binding to Microsoft Foundation Classes (MFC) compatible with:
- Microsoft Visual C++ version 4.2
- Aonix ObjectAda for Windows version 7.2 *** NEW ***
- Version 1.2 Upgrade
Incorporates features from Version 1.2 Upgrade.
Being a full release the restriction on functions returning classes
does not apply.
- Includes Symbol Table Viewer (STViewer) Version 3.1 *** NEW ***
- Includes Derive Ada Class Tool (DACTool) Version 3.1 *** NEW ***
- Prosise Samples *** NEW ***
Includes samples derived from Programming Windows 95 with MFC
chapters 1 to 3 by Jeff Prosise and published by Microsoft Press.
Go to start of Ada Foundation Classes Datasheet
- Workaround
In version 1.0 of the Ada Foundation Classes there is a problem with the code
generated by ObjectAda for the code used by the bindings to implement
dispatching calls to virtual functions which return access and system.address
types.
A workaround has been implemented in version 1.2 of the Ada Foundation Classes
to overcome this problem.
- Pure Functions
In previous versions of the Ada Foundation Classes pure functions
were not mapped to Ada subprograms.
In version 1.2 of the Ada Foundation Classes pure functions are
mapped to subprograms in the class package which implement a
dispatching call through the VFT in the same way as for other
virtual functions.
Note that it is not appropriate to map pure functions to
nondispatching subprograms in the nondispatching package because an
implementation of the function does not exist at link time.
This mapping is designed to support bindings for COM interfaces.
- SizeInBytes
Class packages include a constant, SizeInBytes, which is the size of the
class record in bytes.
- VFTArray and VFTPointer subtypes
The subtypes, VFTArray and VFTPointer, are included in the class package for
classes which have virtual functions.
- Class Conversions
Class packages include functions which convert the class pointer type to the
class pointer type for each of the base classes of the class.
Although implemented using Unchecked_Conversion these conversions are safe.
- Class Packages
Class packages are not generated for classes which have no member functions
or static data other than the default special functions.
- ReturnClassWorkaround
The workaround used for functions returning classes requires assistance from
a C++ envelope function.
Envelope code is not included in this upgrade and therefore the
assistance required for dispatching calls to virtual functions returning
classes is not available.
Such functions have been suppressed from this upgrade.
There is no general rule for working around this problem.
However, note that the nondispatching function call can often be used instead.
Go to start of Ada Foundation Classes Datasheet
- Ada binding to Microsoft Foundation Classes (MFC) compatible with:
- Microsoft Visual C++ version 4.2
- Aonix ObjectAda for Windows version 7.1.2 *** NEW ***
- Includes constants packages *** NEW ***
- Object and Pointer subtypes included in class packages *** NEW ***
- Improved support for dispatching and nondispatching calls on virtual functions *** NEW ***
- Improved mapping for virtual destructors *** NEW ***
- Includes AFC helpers: BaseClass, MakeMessageMap & AFXMSG *** NEW ***
- Inclusion of symbol tables to enable upgrades to tools between
releases
- Includes symbol table browser (STViewer Version 1.0 Release 2)
which includes the Derive Ada Class Tool (DACTool). *** NEW ***
- Scribble sample extended to include steps 4 and 5 *** NEW ***
Go to start of Ada Foundation Classes Datasheet
- Ada binding to Microsoft Foundation Classes (MFC) compatible with:
- Microsoft Visual C++ version 4.2
- Aonix ObjectAda for Windows version 7.1.1 *** NEW ***
- Inclusion of symbol tables to enable upgrades to tools between
releases *** NEW ***
- Scribble sample extended to include steps 2 and 3 *** NEW ***
Go to start of Ada Foundation Classes Datasheet
- Ada binding to Microsoft Foundation Classes (MFC) compatible with:
- Microsoft Visual C++ version 4.2 *** NEW ***
- Aonix ObjectAda for Windows version 7.1 *** NEW ***
- Supports AFXWIN, AFXEXT, AFXCMN and AFXPRIV
- Supports MFC libraries:
- NAFXCWD statically linked debug version
- NAFXCW statically linked release version
- MFC42D DLL debug version *** NEW ***
- MFC42 DLL release version *** NEW ***
- Package AFC supporting one namespace as in C++ *** NEW ***
- Saves searching for enclosing package during development
- Removes impact of transfers between header files in new versions of MFC
- Same package name ensures straightforward upgrade from core product to advanced level
- Incorporates binding to parts of Win32 included by MFC header files as configured for MFC
- Generated directly from C++ header files with minimum intervention for generation of correct Ada
- maintains relevance of C++ oriented documentation and training material
- facilitates rapid upgrades to support new versions of MFC
- Supports default Constructors, Destructors and Assignment Operators
- Supports inline functions
- Supports overloaded functions
- Interfaces directly to C++ function entry points for non-inline, non-overloaded, non-default functions.
- Scribble sample extended to include step 1 *** NEW ***
Go to start of Ada Foundation Classes Datasheet