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