[Scilab-users] global constant definition for module
Serge Steer
Serge.Steer at inria.fr
Sat Mar 5 21:09:43 CET 2016
Le 05/03/2016 00:00, Samuel Gougeon a écrit :
> Le 04/03/2016 23:33, Samuel Gougeon a écrit :
>> Le 02/03/2016 12:24, David Chèze a écrit :
>>> Hi all,
>>>
>>> I would like to define a variable in a user module in such a way that this
>>> constant would be available for all functions (also out of the module) as a
>>> "hidden(you don't need to see it inbrowsvar), protected (should not be
>>> possible to clear it, even with clearglobal )" global variable as soon the
>>> module is loaded: do you have suggestions how to do it within scilab?
>>
>> There is still no actual solution to protect variables against clear.
> .
> Actually, there are one or two solutions :
>
> 1. Set and store your constants in a TCL session (the main one or a
> slave), and recall them from it. Data in TCL sessions are not
> cleared by clear() nor by clearglobal(). This is what i use in
> drivers published on the fileexchange to set/get "persistent"
> communication parameters with devices.
> 2. May be the same could be possible with java objects? I have never
> tried.
> 3. Another solution is to use the userdata field of the default
> figure. The default figure (gdf()) is not clearable. But then all
> your graphic windows will embed your constants in their .userdata.
> So it is preferable not to have MBytes of constantes ;) And to set
> a struct() in userdata. This is a rather bad hacking.
>
> May be there are other solutions. Let's free your imagination :)
Yes there is at least another one :-; : use the user_data field of an
unvisible graphic window
fig=figure("visible","off","user_data",struct("A",123,"b","FOO"));
a=fig.user_data.A
Serge
>
> Samuel
>
>
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20160305/b6e108f0/attachment.htm>
More information about the users
mailing list