From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,469fc70332b524fd,start X-Google-Attributes: gid103376,public From: David Botton Subject: Major Ada find on the Win32 platform Date: 1999/04/21 Message-ID: <371D4DC5.FB93E707@Botton.com>#1/1 X-Deja-AN: 468996441 Content-Transfer-Encoding: 7bit X-Accept-Language: en Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@gate.net X-Trace: news.gate.net 924667337 31002 199.227.148.179 (21 Apr 1999 04:02:17 GMT) Organization: CyberGate, Inc. Mime-Version: 1.0 NNTP-Posting-Date: 21 Apr 1999 04:02:17 GMT Newsgroups: comp.lang.ada Date: 1999-04-21T04:02:17+00:00 List-Id: Today while playing with a tool I am constructing to generate Ada bindings to COM objects, I came across a major find. Microsoft ships a type library with Windows 98 that includes the ANSI Win32 API. What does a Windows 32 Api type Library mean? Well in the very near future (weeks) using the tool: 1. Generate most of the Windows 32 API binding in about 30secs that is fresh, up to date and error free. 2. Generate a document with a documentation summary of every constant, function, struct, union, etc. in the API with help text that is embedded in the type library 3. Editors and other tools like Martin Carlisle's AdaGIDE could easily add extensions to look up Win32API functions, documentation, show completions, etc on the fly. Since most of the new Win32 APIs are actually COM objects or include COM versions it will also be possible to get at just about any other part of the OS. Of course since the bindings are automated from MS provided information they will be error free and I am sure include many surprise features (even to MS ;-) MORE INFORMATION: A TYPE LIBRARY is a special file generated by Microsoft's MIDL (Microsoft Interface Definition Language) compiler. Type Libraries are usually generated for COM objects and either shipped along with the object or embedded as a resource. They provide all the information needed to create bindings to COM objects and are often available at run-time to allow more dynamic access to unknown objects. It is very possible to create an IDL file that represents any API that is not formed by COM objects to allow tools like the COM -> Ada binding tool, Microsoft's VC++ #import language extension to generate the APIs on the fly, and Microsoft has apparently decided to do so for the key DLLs of Windows supporting the Win32Api. I suspect the Microsoft built the Win32 type library to generate bindings for MS languages and scripting languages like MS J++ (Microsoft Java) or WSH (Windows Scripting Host). For example, J++ and the MS JDK includes JActiveX that could be used to turn this type library in to a MS Java binding. David Botton