The event handling function works asynchronously (may be during the execution of another function....) instruction like res=return (x*2) will store the result in the current execution context which unknown if Scilab is not at prompt level when the handling function is executed


It is better to use global variable:
function myEventHandler(win,x,y,ibut)
global res
res=x*2
endfunction

You can then recover the value everywhere by
global res;disp(res)


or to store the result into the user data field of the figure in which the evenet handler has been called

function myEventHandler(win,x,y,ibut)
fig=get_figure_handle(win)
set(fig, "user_data", struct("myres",x*2))
endfunction
You can then recover the value everywhere using

fig=get_figure_handle(win)
disp(fig.user_data.myres)


Serge Steer


Le 30/11/2012 14:26, walid shouman a écrit :
how can i return the a value from an event handling function


ie:

seteventhandler('myEventHandler(win,x,y,ibut)')
function val=myEventHandler(win,x,y,ibut)
return x*2
endfunction


where should i find "val" to use it later in the code ?

--

Sincerely,
Walid E. Shouman



_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

Reply via email to