Short Update: I finally solved my problem by a) reverse engineering the IDL file --> VC++ Express 2005 has midl compiler and so everything works fine on the COM side. I did not require MFC/ATL that is not shipped with the express editions. b) create a simple class using the jsrvr.h/cpp code available at system\examples\ole\cpp c) synchronizing using threads on the VC++ client side.
Since I have put this into a rigorous load test, I have to still check if my multi-threading code works fine and what I can further optimise. Thanks, Yuva p.s: Since the IDL is helpful, it would help to package it with the installation. Thanks. On Thu, Nov 6, 2008 at 9:46 PM, Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
