[Scilab-users] Windows 10 VS 2015 example under ilib_build fails pvApiCtx undeclared identifier

Fredrik Blomqvist fredrik at fibix.net
Mon May 11 12:51:34 CEST 2020


Hi Clement,

thanks for answering.

You are correct, the pvApiCtx global define available in Scilab 5 no more
> exists in Scilab 6 as described in [1] or [2]. The call_scilab might need
> to be updated to cover this change, could you please post a bug on that ?
>

Ah, yes I will, but at the moment I still don't know where the bug is
except it seems some documentation is missing (or it's a combination with
something I have misunderstood).

In a sentence, you should add a variable `void* pvApiCtx` on each gateway
> declaration. This variable will be passed through the Scilab APIs as a
> context of execution.
>

This I found in the documentation, so if I were doing a gateway, then I
don't think anything is really missing in the documentation. The problem is
I'm running Scilab from my C++ exe file (Scilab Engine instead of Gateway
if I understood the naming correctly). In short I did this from my program
(using Scilab 5.5.2):

   1. Start up the scilab instance: StartScilab()
   2. Call my script: SendScilabJob()
   3. Read back some variables after the script is done:
   readNamedMatrixOfDouble( pvApiCtx, ...)
   4. TerminateScilab()

But up until number 3 above, "pvApiCtx" wasn't needed. And I've read some
other discussion on this mailing list that you shouldn't mix the old 5.2
stack-style with the new 6.X C++ API style, but that feels exactly what I'm
doing!? So I'm guessing I'm actually reading back my variables wrong, but I
didn't find any documentation of another way to do it? Sending NULL on
pvApiCtx makes the program work (which I found in an example), but is it
really the right 6.X way to do it in?

Thanks for any hints
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20200511/21813e4f/attachment.htm>


More information about the users mailing list