comp.lang.ada
 help / color / mirror / Atom feed
From: Rob W. Norris <firstname.lastname@amsjv.com>
Subject: Re: Importing and using a C++  class in Ada. Pragma Cpp_Constructor,Cpp_Class
Date: Fri, 06 May 2005 10:03:36 +0100
Date: 2005-05-06T10:03:36+01:00	[thread overview]
Message-ID: <1bcm71h665mr88ohoi4s7c1824jenq2ta0@4ax.com> (raw)
In-Reply-To: mailman.108.1115327462.24457.comp.lang.ada@ada-france.org

"Christopher Gosset" <chrg@online.no> scribbled:

>I need to use some  classes from a DLL in my Ada app. I was hoping that
>this was a straigthforward thing to do using pragma import and pragma
>cpp_class and cpp_constructor. Is there a working example of this
>somwhere. I am building the damn dll myself and I am also buliding the
>damn .def file myself but the damn thing will still not work. Functions
>that are not class members are no problem this works perfect! Are there
>any tutorials, sample code available on this? As I see it this is far
>from intuitive and its a major reason for NOT converting to ada. What I
>would like is a simple "MS Visual Studio " like library brows tree
>thing. So instead of having to "build a new operating system" to solve
>even the most trivial task, such as calling a member function or a
>constructor I could actually add a with clause or import clause and then
>be able to see whats available in the lib. 
>
>So if anyone has a working sample on the usage of these pragmas  I would
>be more than happy.
>
>I assume that the fact that there are no examples of the usage of these
>Pragmas in the userguide or reference manual suggests that this is not
>as straigth forward as advertised.  
>/CG

There's an example off the pragmas working in The Big Online Book of
Linux Ada.

http://www.pegasoft.ca/resources/boblap/19.html#19.5

Obivously, it's geared to Linux.

The hard part is when classes get big with virtual functions all over
the place as you have to resolve the actual function mapping and
symbol table offsets yourself.

The simplest way is often to write a pure C style wrapper around the
C++ calls so the Ada can map to that.
-- 
Rob W. Norris
Top Posters Rule? Begin the revolution.



  parent reply	other threads:[~2005-05-06  9:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050505100047.AB84F4C40D0@lovelace.ada-france.org>
2005-05-05 21:10 ` Importing and using a C++ class in Ada. Pragma Cpp_Constructor, Cpp_Class Christopher Gosset
2005-05-06  3:20   ` Importing and using a C++ class in Ada. Pragma Cpp_Constructor,Cpp_Class Steve
2005-05-06  8:07   ` Importing and using a C++ class in Ada. Pragma Cpp_Constructor, Cpp_Class Adrien Plisson
2005-05-06  9:03   ` Rob W. Norris [this message]
2005-11-09  3:38   ` Anonymous Coward
replies disabled

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