News: This project has been closed. The latest work on thin bindings can be found on the GNATCOM page in the user contribution section. The AdaCOM bindings have been superceded by GNATCOM a more robust and powerful COM framework for Ada. There is also an on going thick Win32 binding project GWindows.
I have created a new binding to the Win32 API for Ada. It covers the majority of API functions, but there are some omissions. The goal is to have bindings for every API function.
The base code was created using BindCOM and a set of type libraries describing the Win32 API. Then a number of bug fixes have been applied, additional APIs and a few types.
Where things are going:
What you can do:
Download:
Latest version - 03-October-99
Links:
Microsoft Platform SDK (aka Win 32 Api)
History:
October 3, 1999
Added binding for IEnumVariant and fixed up some issues with adacom-dispinterface.
September 8, 1999
Bug fixes to CreateCOM.Local_Server and addition of CreateCOM.Remote_Register
September 2, 1999
Added some additional support for creating COM objects.
August 24, 1999
Added support for multiple COM objects in a single DLL or EXE in the CreateCOM packages
August 10, 1999
Added some support for COM Events (Connection Points) in AdaCOM.Events
Corrected a number of problems in COM interfaces where the type was IUnknown instead of Pointer_To_IUnknown
August 9, 1999
Added packages to support easy creation of COM objects. Added some missing interfaces for COM creation to AdaWin.ads
July 12, 1999
Added support for NULL Variants
July 11, 1999
Added bindings for IClassFactory2 and more COM support
July 7, 1999
When adawin.zip is unzipped it now unzips into a dir with the version, eg. adawin-19990707
Merged in support for Time in Adacom.Variant and indexed Gets and Puts in Adacom.Dispinterface from Rob Veenker. Added additional support for non access variants.
July 6, 1999
Added AdaCOM.Dispinterface to handle thick bindings to COM Dispinterfaces (IDispatch) and various other COM related updates.
June 30, 1999
Added more error codes to the ErrorConstant package and now include the adacom packages bstr, variant, and interface, as part of the distribution.
June 29, 1999
Complete coverage of OLE and COM types and APIs. Unless there are bugs or any one comes up with some missing APIs they need right a way, this version will stick around for a while. I will be working on MAPI bindings and then back to BindCOM to complete thick binding support.
June 28, 1999
Complete coverage of User and GDI and many more updates and fixes.
June 24, 1999
Major update of all packages. Fixed many type problems, more functions, and interfaces and enums.
June 23, 1999
Changed C enums to subtypes of C.long instead of type Corrected type problem (Pointer_To_ADAWIN_XXXX and Pointer_To_Interface_C_XXXX) Removed extra pragma import in adawin-objbase.ads Reran bindcom with some fixes to produce more documentation from the TypeLib Fixed a problem in adawin.oleauto
June 21, 1999
I found out that I was using an older version of the type libraries for AdaWin, so I reran BindCOM and merged in my fixes. The new version has many more APIs and fixes.
For more information contact David Botton