comp.lang.ada
 help / color / mirror / Atom feed
* Win32: Using COM from Gnat
@ 1999-01-29  0:00 Paul Moore
  1999-02-10  0:00 ` John Walker
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Moore @ 1999-01-29  0:00 UTC (permalink / 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.





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

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

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-01-29  0:00 Win32: Using COM from Gnat Paul Moore
1999-02-10  0:00 ` 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

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