Stephane Richard <[log in to unmask]> writes: > Hello everyone, > > I am currently seeking information about developing windows applications > in ADA. I know that some bindings exist currently such as Windex, gtkAda and > the likes. However, if possible, I would rather call API functions directly > rather than using these libraries. Just out of curiosity, why? > Could anyone point me to some good reference on the subject? I know > about API calls and such things, I would like a good reference on > using these API calls from ADA. Maybe some sample applications would > be good reference as well. Windex is a good example of calling the Windows APIs. It comes with a couple small example applications. ObjectAda comes with the Petzold book examples rewritten in Ada; it uses the Win32Ada bindings. That was the reason I wrote Windex; those examples are just horrible! type conversions all over the place, in the top-level user code. > Adn finally, I would like to add other windows DLLs. > > I'm also familiar with the ADA Pragma Linker options such has -lwindows, > -lgdi32, -luser32, I assume -lkernel or -lkernel32 If I add these pragmas I > assume it would make the functions in these DLLs available to the > application. What I need to know is the finishing move, hence calling an actual API > function in Ada. You also need the function declarations and pragma Imports. These are a pain to write; you have to read the Windows API documentation carefully, and guess at the things they leave out. Such as, is this routine going to save a copy of this pointer I'm giving it? Whose going to destroy this construct later? Lots of fun. That's why Windex, CLAW etc exist; to save you that pain. I suggest you start by reading the Windex source. If you like what you see, consider adding to it; there's lots to be done! -- -- Stephe