Those are portable entries. The ones you list from COM
interface are Windows-specific. They are in fact variations
of GetA/SetA only with different params.

Their definitions can be derived from the COM interface.
However, working with the struct J is as easy. What are
your concerns?

As you may have realized working with intput/output streams
are only necessary if you wish to emulate session, and can
be done without for regular call-based processing.



> From: Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]>
> 
> This is what I have with me (from jlib.h in jfe)
> 
> J _stdcall JInit();                         /* init instance */
> void _stdcall JSM(J jt, void*callbacks[]);  /* set callbacks */
> int _stdcall JDo(J jt,C*);                  /* run sentence */
> C* _stdcall JGetLocale(J jt);               /* get locale */
> int _stdcall JFree(J jt);                   /* free instance */
> A _stdcall JGetA(J jt,I n,C* name);         /* get 3!:1 from name */
> I _stdcall JSetA(J jt,I n,C* name,I x,C* d);/* name=:3!:2 data */
> 
> What are the corresponding signatures for SetB, GetB, SetM, GetM and the
> rest of the APIs that the dll exposes?
> 
> I refer to GetM since that is used in the dll.ijs code.
> 
> I am working on windows.
> 
> ~Yuva
> 
> 
> On Thu, Nov 6, 2008 at 12:17 PM, Raul Miller wrote:
> 
> > On Thu, Nov 6, 2008 at 3:00 PM, Yuvaraj Athur Raghuvir
> > wrote:
> > > 1) I miss the entire list of calls I can make to the JDLL (including
> > > signature). Where can I find that? ( I have the COM version in jdll.h /
> > > jexe.h in the ole sample)
> >
> > Which calls do you think you are missing?
> >
> > Conceptually, you need a pair for startup/shutdown, you need
> > a pair to set and read variables, you need one to execute
> > sentences, and you might need a few others for debug
> > purposes.
> >
> > Since startup seems to be handled for me automatically, the
> > calls I use for these purposes are:
> > .Quit()
> > .SetB(,)
> > .GetB(,)
> > .Do()
> > .Log()
> > .Show()
> > .ErrorTextB(,)
> >
> > But since I am not using C, my going into further details might
> > be less than helpful.
> >
> > > 2) I want to push data into JDLL and retrieve the data back as and when I
> > > want. Here I have a variety of JGet* calls. How do I know when to use
> > what?
> > > Further, is it necessary to have the Joutput callback set for such a use
> > > case?
> >
> > I get non-zero results from Do, from GetB and from SetB when J is
> > unhappy with what I have done (like, when it does not recognize
> > the data I have passed).  With these calls, J is getting the windows
> > type information associated with the underlying data, and can
> > interpret types at runtime.  I am not sure how or if I would make
> > these calls work under Linux, since gcc does not seem to provide
> > a similar underlying facility.
> >
> > I think the alternative Get/Set calls are for people who want to
> > deal with type information manually.  That's not necessarily a
> > bad thing, but that's not what I currently use.
> >
> > --
> > Raul
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



      
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to