Creating COM objects: ===================== The only thing holding back my creation of COM objects at this point is the ability to create dynamically relocatable DLLs in GNAT. In theory, I could create an "executable" COM object that would work from GNAT, but have decided to not spend time on it since MTS and other MS technologies don't support them. (If any one REALY needs it, I could probably slap something together.) Also support for RC files is important and executables created by the current GNAT version with linked in RC files and NT don't like each other. The new version of GNAT is rumored to be able to support creation of such DLLs and will work better with RC files. If this is true, I will put up an Ada created COM/DCOM object after it is released. Other compilers could perhaps be used, but I don't currently own any of them to test with or have the extra cash around to buy them. (My contributions to the Ada community are on my own dime and time. Thank you ACT for making it possible!) Using COM objects: ================== As I demonstrated, it is possible to use COM objects from Ada with out a problem (and should not be compiler dependent). I have a project (currently on hold so I can complete the GUI objects, see below) that will allow you to use any object designed for scripting languages (ie, they support IDispatch) in a manner that will make it as easy as VB. As you point out the next level solution would be to support the creation of Ada packages from Type Libraries. This is not overly difficult, but will take some time. GUI Classes: ============ There are a couple already available (but all commercial), and I am working on a set that will work with X, Win32, and JVM (under GPL or lighter licensing). When I have completed the initial layer of the classes, I will spend some time working on the ability to use ActiveX (COM/DCOM) controls from the Win32 version. As time permits (and the availability of a compiler that can do it), I will also formulate a way to use these classes via COM. Collaboration: ============== Currently Dr. Martin Carlisle has decided to use my GUI classes in the next version of RAPID(ftp://ftp.usafa.af.mil/pub/dfcs/carlisle/usafa/rapid/index.html). So there should also be an environment for prototyping these classes. I am more then willing to work with any one interested in improving on the GUI classes, adding to them (there is a lot of work still to go), or commenting on them and offering suggestions. Just drop me a note and I'll send you my latest snap-shot. I am always open to work with any one on there stuff or mine that will move towards an OpenSource Delphi like environment for Ada95. We need it, and we need it bad. (At least if you want to do shrink wrap general consumer kind of software and/or have Ada be looked at as the Screaming KING/QUEEN of SE Tools of the Future rather then a cold war relic from the DOD. Some nice jpegs of Ada in some modern clothes controling the planet with the saying Ada:Real-Time Power! wouldn't hurt either.) David Botton mailto:[log in to unmask] ---"Marceau, David" <[log in to unmask]> wrote: > > What if all of Team Ada collaborated and built some tools to allow Ada to > build/use gui/non-gui COM/DCOM components? > > Particularly, OIS and Software A.G. could get together with the Ada Compiler > vendors to come up with something quite synergetic and would complement the > entire Ada Industry. This would permit all the Ada developers to > deliver/sell products to the Windows 95/98/NT markets. Another important > point would be to permit Ada components to be reused by other languages such > as VB/C++/Delphi in a transparent manner. Presently Ada does have the > capacity to use Com Components however the tool support is very weak. I > also understand there is one gentleman( [log in to unmask]) that has succeeded > in using(but not making) a COM component from an Ada executeable. > http://www.botton.com/ada/os/com-simple.html . I tried this one myself with > gnat and msvc 6 and it works like a charm. > There is another gentleman( Rob Veenker [mailto:[log in to unmask]]) who has > succeeded in using(but not making) an OLE component. Mr. Veenker's comments: > "I also tried to create a word.basic object, and this works too ! It's just > that the typelib is rather large and most methods use more parameters. Maybe > it is possible to create a typelib parser that generates Ada packages :-)" > Here it is: > ( <<ole.zip>> ) > > I have approached some Ada compiler vendors on this weakness(of not being > able to build/use gui/non-gui COM/DCOM components) in their toolset. All > the Ada compiler vendors are complementary to each other, in other words > they both share a piece of the same pie. Instead of competing on this > issue, they could cooperate in order to make their pie bigger and tastier. > I read a good book called "co-opetition" regarding this different > perspective. I highly recommend it. > > I am looking forward to hearing from you. > -- > Santé bonheur! > > David Marceau > Programmer/Analyst - Firepower Systems > Land Software Engineering Centre - DND Canada > [log in to unmask] > 613.995.1126 > > _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com