comp.lang.ada
 help / color / mirror / Atom feed
* Creating COM objects with Ada
@ 1999-02-14  0:00 David Botton
  1999-02-14  0:00 ` David Botton
  1999-02-14  0:00 ` dewar
  0 siblings, 2 replies; 8+ messages in thread
From: David Botton @ 1999-02-14  0:00 UTC (permalink / raw)


I have now added an example of creating COM objects with Ada to The Ada
Source Code Treasury -- http://www.botton.com/ada/os

I've decided to post the example despite that fact that it still has
some problems.

On ObjectAda everything works perfect as long as you don't try and
create any GUI stuff from the COM object (unless the COM object is being
called from an ObjectAda client then there is no problem at all with
anything). I am trying to figure out what is causing this to happen and
will post an update soon, I already have some ideas..... 

On GNAT it only partly works on NT and doesn't work at all on Win 95/98,
this is caused by a number of problems GNAT has with creating DLLs and
hopefully will be resolved as GNAT matures in its ability to create
DLLs. 
If any one has better luck getting the GNAT DLLs to work, then let me
know!

David Botton




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-14  0:00 Creating COM objects with Ada David Botton
  1999-02-14  0:00 ` David Botton
@ 1999-02-14  0:00 ` dewar
  1999-02-14  0:00   ` Al Christians
  1999-02-15  0:00   ` David Botton
  1 sibling, 2 replies; 8+ messages in thread
From: dewar @ 1999-02-14  0:00 UTC (permalink / raw)


In article <36C68920.97FF9715@Botton.com>,
  David Botton <David@Botton.com> wrote:
> On GNAT it only partly works on NT and doesn't work at
> all on Win 95/98, this is caused by a number of problems
> GNAT has with creating DLLs and hopefully will be
> resolved as GNAT matures in its ability to create DLLs.
> If any one has better luck getting the GNAT DLLs to work,
> then let me know!

We have had pretty good "luck" getting GNAT DLL's to work,
and have found ways to satisfy what our customers
are trying to do in this area. It is certainly true that
the current 3.12 technology is more advanced in this area,
including most notably more complete documentation of how
to proceed in making and using DLL's. I suspect some of the
problems that David refers to are indeed just a matter of
not having figured out how to do things right.

Robert Dewar
Ada Core Technologies

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-14  0:00 Creating COM objects with Ada David Botton
@ 1999-02-14  0:00 ` David Botton
  1999-02-14  0:00 ` dewar
  1 sibling, 0 replies; 8+ messages in thread
From: David Botton @ 1999-02-14  0:00 UTC (permalink / raw)


I was mistaken, the problem I am having with Object Ada is unrelated to
GUI issues, and the current zip file on my site has a pop-up dialog like
the original C++ demo from ComBeep.

The problem seems to be related to the Interfaces.C . I am looking in to
fixes now.

If any one wants to see the problem insert a call to the Message_Box
procedure with in the BeepCom.Beep function.


David Botton




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-14  0:00 ` dewar
@ 1999-02-14  0:00   ` Al Christians
  1999-02-15  0:00     ` robert_dewar
  1999-02-15  0:00   ` David Botton
  1 sibling, 1 reply; 8+ messages in thread
From: Al Christians @ 1999-02-14  0:00 UTC (permalink / raw)


dewar@gnat.com wrote:
> ...
> It is certainly true that
> the current 3.12 technology is more advanced in this area,
> including most notably more complete documentation of how
> to proceed in making and using DLL's. I suspect some of the
> problems that David refers to are indeed just a matter of
> not having figured out how to do things right.
> 
> Robert Dewar

This is certainly deja vu, not deja news: On 1997-08-16, Robert 
Dewar wrote: 

> <<Is it possible to create a DLL with GNAT on Windows 95>>

> Yes, this is definitely possible with the current version (3.10?) of 
> GNAT. It is possible, though difficult and requires some fiddling in 
> 3.09.


Al




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-14  0:00   ` Al Christians
@ 1999-02-15  0:00     ` robert_dewar
  1999-02-17  0:00       ` Pascal Obry
  0 siblings, 1 reply; 8+ messages in thread
From: robert_dewar @ 1999-02-15  0:00 UTC (permalink / raw)


In article <36C778DD.1318C256@easystreet.com>,
  Al Christians <achrist@easystreet.com> wrote:
> > Yes, this is definitely possible with the current
> > version (3.10?) of
> > GNAT. It is possible, though difficult and requires
> > some fiddling in  3.09.

Well, as anyone familiar with this area knows, there are
lots of aspects (resources, relocatability, various
language issues, wrapping variables, stdcall interface etc)
to be dealt with in the DLL world, and it is certainly
the case that successive versions of GNAT have greater
capability in this area, but the statement above is most
certainly true, it was possible to build DLL's as early
as version 3.09.


-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-14  0:00 ` dewar
  1999-02-14  0:00   ` Al Christians
@ 1999-02-15  0:00   ` David Botton
  1999-02-15  0:00     ` mike
  1 sibling, 1 reply; 8+ messages in thread
From: David Botton @ 1999-02-15  0:00 UTC (permalink / raw)


I would call it "luck".

The objects are working for some people under Win95, but still no luck on
Win98.

There are some other problems with the GNAT version when it is being used
by code written in GNAT, and is being looked at.

I suspect some of the problems Robert Dewar has could have come from not
including documentation for making DLLS with GNAT in 3.11p and better
documentation for 3.12 (what I've seen needs more work).

I think you'll find all is in order with the DLLs -
http://www.botton.com/ada/os/make-com.html

Perhaps you should work something out for those that can not afford the
tens of thousands for support contracts, but are pushing GNAT in to the
next century.

Never the less, I am very gracious for what ever bones you have thrown to
the public, with out them I wouldn't have started using Ada.

David Bottondewar@gnat.com wrote:

> In article <36C68920.97FF9715@Botton.com>,
>   David Botton <David@Botton.com> wrote:
> > On GNAT it only partly works on NT and doesn't work at
> > all on Win 95/98, this is caused by a number of problems
> > GNAT has with creating DLLs and hopefully will be
> > resolved as GNAT matures in its ability to create DLLs.
> > If any one has better luck getting the GNAT DLLs to work,
> > then let me know!
>
> We have had pretty good "luck" getting GNAT DLL's to work,
> and have found ways to satisfy what our customers
> are trying to do in this area. It is certainly true that
> the current 3.12 technology is more advanced in this area,
> including most notably more complete documentation of how
> to proceed in making and using DLL's. I suspect some of the
> problems that David refers to are indeed just a matter of
> not having figured out how to do things right.
>
> Robert Dewar
> Ada Core Technologies
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-15  0:00   ` David Botton
@ 1999-02-15  0:00     ` mike
  0 siblings, 0 replies; 8+ messages in thread
From: mike @ 1999-02-15  0:00 UTC (permalink / raw)


In article <36C89C25.4BE5B54E@Botton.com>, David says...
>
 
>
>Never the less, I am very gracious for what ever bones you have thrown to
>the public, with out them I wouldn't have started using Ada.
>
 
This is so funny :)


Mike.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Creating COM objects with Ada
  1999-02-15  0:00     ` robert_dewar
@ 1999-02-17  0:00       ` Pascal Obry
  0 siblings, 0 replies; 8+ messages in thread
From: Pascal Obry @ 1999-02-17  0:00 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1229 bytes --]


robert_dewar@my-dejanews.com a �crit dans le message
<7a9nk2$rck$1@nnrp1.dejanews.com>...
>In article <36C778DD.1318C256@easystreet.com>,
>  Al Christians <achrist@easystreet.com> wrote:
>> > Yes, this is definitely possible with the current
>> > version (3.10?) of
>> > GNAT. It is possible, though difficult and requires
>> > some fiddling in  3.09.
>
>Well, as anyone familiar with this area knows, there are
>lots of aspects (resources, relocatability, various
>language issues, wrapping variables, stdcall interface etc)
>to be dealt with in the DLL world, and it is certainly
>the case that successive versions of GNAT have greater
>capability in this area, but the statement above is most
>certainly true, it was possible to build DLL's as early
>as version 3.09.


I completly agree with Robert here.

I have been able to build DLL with GNAT 3.09, 3.10 and 3.11.

Each time it is getting a bit simpler though and GNAT handles more
DLL specific stuff.

Anyway this is not GNAT specific at all. GNAT is based on GCC and it
has been possible to build DLLs with CYGNUS GCC since a long time.

So I'm pretty sure that it was also possible to build DLL with earlier
version of GNAT, but I've never done that.

Pascal.







^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~1999-02-17  0:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-14  0:00 Creating COM objects with Ada David Botton
1999-02-14  0:00 ` David Botton
1999-02-14  0:00 ` dewar
1999-02-14  0:00   ` Al Christians
1999-02-15  0:00     ` robert_dewar
1999-02-17  0:00       ` Pascal Obry
1999-02-15  0:00   ` David Botton
1999-02-15  0:00     ` mike

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox