comp.lang.ada
 help / color / mirror / Atom feed
From: paul.moore@uk.origin-it.com (Paul Moore)
Subject: Win32: Using COM from Gnat
Date: 1999/01/29
Date: 1999-01-29T00:00:00+00:00	[thread overview]
Message-ID: <36b1c4dc.19475234@news.origin-it.com> (raw)

Hi,
I'm looking at Ada as a possible alternative language for programming
under Win32. One important area for me would be interfacing to COM
components. Can anybody tell me if there is a *simple* way of getting
at a COM object's interfaces from Gnat? For example, suppose I have a
COM object which implements IStream. I'd like to be able to call the
Read method using something straightforward like

    COM_Object.Read(buffer, size, num_read)

and NOT something visually impossible to read like

    COM_Object.vtbl.ptr_Read(buffer'unchecked_access, size,
                             access ptr num_read)

(As you can see, I don't know Ada syntax yet!) Basically, I'd like
something which hides the implementation details, like C++ COM code
does, rather than something that exposes the internals, like C COM
code.

I saw a pointer to something on this subject in this newsgroup
recently, but it looked a bit like the second example (pages of code
to create and access an instance of a trivial "beep the speaker"
object). Frankly, too much of Win32's internals are now COM-based for
verbose, unreadable code to be usable...

[BTW, don't construe this as a flame against Gnat, or Ada. I have no
axe to grind here - it's just that I'm looking for an alternative to
C++ for Win32 programming, without losing the advantages of C++ as
regards COM programming...]

Thanks in advance,
Paul Moore.





             reply	other threads:[~1999-01-29  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-29  0:00 Paul Moore [this message]
1999-02-10  0:00 ` Win32: Using COM from Gnat John Walker
1999-02-10  0:00   ` David Botton
1999-02-10  0:00     ` David Botton
     [not found]       ` <01be5729$4fcf8bb0$022a6282@dieppe>
1999-02-14  0:00         ` David Botton
replies disabled

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