JE expected a minimum stack size of 16mb. Try Building your front end with that stack size.
On Sun, Mar 6, 2022, 6:35 AM vadim <vadim3128m...@gmail.com> wrote: > I'm considering to move a working program (which loads j.dll) from J > version 8.07 to current 9.03, but JDo fails to execute any sentence. > > (1) No issues with the previous 8.07 version. > (2) No issues on Linux. > (3) No issues with JInit, JFree, JSetM, JGetM. > (4) To confuse things more, no issues with calling JDo from 9.03 JQt > window, e.g.: > > libj =: 'jj.dll' > p =: (libj, ' JInit x') cd '' > (libj, ' JDo i x *c') cd p, <'A =: i. 2 3' > +-+-------------+-----------+ > |0|2534909943808|A =: i. 2 3| > +-+-------------+-----------+ > > (5) Return code 17 when called from, e.g., the following C program, > compiled with mingw gcc (real program uses FFI and is not C). > > #include <windows.h> > #include <stdio.h> > > typedef void* (_stdcall *JInitType)(void); > typedef int (_stdcall *JDoType)(void*, LPSTR); > > int main(void) { > > HINSTANCE hinstLib; > JInitType JInit; > JDoType JDo; > void *j; > int result; > > // hinstLib = LoadLibrary("C:\\Users\\vadim\\j64-807\\bin\\j.dll"); > hinstLib = LoadLibrary("C:\\Users\\vadim\\j903\\bin\\j.dll"); > JInit = (JInitType) GetProcAddress(hinstLib, "JInit"); > JDo = (JDoType) GetProcAddress(hinstLib, "JDo"); > > j = (JInit)(); > printf("%u\n", j); > > result = (JDo)(j, "vec =: i. 10"); > printf("%u\n", result); > > return 0; > } > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm