comp.lang.ada
 help / color / mirror / Atom feed
From: Craig Carey <research@ada95.ijs.co.nz>
Subject: Re: Summary: GNAT and a very foreign DLL
Date: Thu, 10 Jan 2002 23:19:53 GMT
Date: 2002-01-10T23:19:53+00:00	[thread overview]
Message-ID: <t88s3ugesdrhhqqlqkvnr43ijegco5c7st@4ax.com> (raw)
In-Reply-To: mailman.1010607482.32725.comp.lang.ada@ada.eu.org


On Wed,  9 Jan 2002 23:19:53 +0300 (MSK), "Alexandre E. Kopilovitch"
<aek@vib.usr.pu.ru> wrote:

...
>  The problem appears to be with the combination of the call convention and
>the names of the DLL's entry points: the call convention is surely Stdcall,
>but the entry point names do not contain usual suffixes "@nn" - they look as
>common C identifiers.

When linking in Windows NT DLLs the gnatdll -k option could be needed.

>[A] way to specify within an Ada program _any_ name for a DLL's entry
>point, regardless of a call convention?

The definition file can contain something like this:
EXPORTS
  <entry_name_for_linker>=<entry_name_of_DLL>
  abc@4=abc
  def=_def@4

That could be useful if another compiler is used.

>Therefore I just sent to report@gnat.com the 


-

Here is a question. (I did not see answers to these questions in the
GNAT 3.13p documents.)

How can GNAT DLLs that are called from Delphi, be debugged ?. Apart
from use of TCP sockets there can be 2 options including these

* Win32 OutputDebugString(string) can be used. What is a good way to
  capture those strings?. Something from the free Microsoft SDK or
  something else?. What software is used.

* DOS console Window and CreateProcess. (There is an example of a
  call to that Win32 routine in Mr Obry's Posix library. Has
  anybody got an example where the thread owning the MSDOS console of
  a DLL, is an Ada task?.


Craig Carey




      reply	other threads:[~2002-01-10 23:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-09 20:19 Summary: GNAT and a very foreign DLL Alexandre E. Kopilovitch
2002-01-10 23:19 ` Craig Carey [this message]
replies disabled

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