comp.lang.ada
 help / color / mirror / Atom feed
From: "Roger Pearse" <rpearse@spamtrap.chieftainsys.demon.co.uk>
Subject: HELP: DLL's, parameter passing problem
Date: 1999/09/27
Date: 1999-09-27T00:00:00+00:00	[thread overview]
Message-ID: <938430099.1211.0.nnrp-13.c2deb6db@news.demon.co.uk> (raw)

I'd be grateful for a bit of help.  I'm trying to do a DLL in
Aonix ObjectAda 7.1.  I've adapted the supplied example,
and I've run into difficulties when trying
to pass and return a parameter (any parameter).  The code
runs, but the value returned seems to be random.

Can anyone tell me what I'm doing wrong?  Also, can I do
IN OUT parameters - I'd like to pass strings.

TIA

Roger Pearse

-----------USEDLL.EXE (console program)----------------
--Calling the DLL
with ada.text_io;
use ada.text_io;
with ada.integer_text_io;
use ada.integer_text_io;

procedure UseDLL is
 function DLLProc(j : integer) return integer ;
 pragma Import(DLL,DLLProc,"DLLProc");
 v,w : integer;
begin
   v := 1;
   w := 1;
   w := DLLProc(v);
   put(w);
end;
----------------------------DLL.DLL----------------

--Creating the DLL

package P is
   function DLLProc(j : integer) return integer ;
   pragma Export(DLL,DLLProc,"DLLProc");
end;
package body P is
   function DLLProc(j : integer) return integer is
       i : integer;
   begin
       i := j + 1;
       return i;
   end DLLProc;
end P;
with P;
procedure DLL is
begin
  null; -- perform any initializations here
end;

--------------------Code ends---------------------






             reply	other threads:[~1999-09-27  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-27  0:00 Roger Pearse [this message]
1999-09-28  0:00 ` HELP: DLL's, parameter passing problem John Walker
replies disabled

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