0
$\begingroup$

This question already has an answer here:

I'm using the Manipulate structure of the simplified form below in order to make Wolfram Demonstration.

Manipulate[
 b = a;
 b
 ,
 {a, 0, 1},
 Dynamic[b],
 TrackedSymbols :> True]

Problem: I get an error message while trying to upload it and suspect that the problem is of the following type (see Author Guidelines - Troubleshooting):

If controls update other panels, there are likely non-localized variables. Try Module.

It means that I cannot set Thumbnail and Screenshots independently - a control of any panel updates all the other Dynamic[b] parts. Need some help.


Addenum: Answer. If you use Wolfram Demonstrations, it is recommended to aviod such Dynamicconstructions. Possible workaround is to use None construct. Note that you should edit AutorunSequencing if you want Autorun in your Demonstration.

Manipulate[b = a;
 b, 
 {a, 0, 1}, 
 {b, None}, 
 Dynamic[b], 
 AutorunSequencing -> {1}, 
 TrackedSymbols :> True]

There is also possible issue with None in more general case.

$\endgroup$

marked as duplicate by Kuba, m_goldberg, Karsten 7., C. E., dr.blochwave Oct 3 '15 at 9:52

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ @Kuba, when you upload a demonstration, you have to fill the sample (i.e. copy Manupulate structure four times). Each copy should be independent. But it does not, if one uses Dynamic in the code. $\endgroup$ – garej Oct 2 '15 at 13:18
  • $\begingroup$ oh I see, try Manipulate[b = a; b, {a, 0, 1}, {b, None}, Dynamic[b], TrackedSymbols :> True], only variables that are controlled are scoped. $\endgroup$ – Kuba Oct 2 '15 at 13:23
  • $\begingroup$ @Kuba, thank you, I guess, it should work. At least, it works in a 'Lab' =)) Can you be more specific how does {b, None} control scope? $\endgroup$ – garej Oct 2 '15 at 14:28
  • 1
    $\begingroup$ Manipulate generates DynamicModule but it scopes only those variables which are given in controllers part of manipulate, {var, *spec*}, so None is just a trick to make it visible for this procedure but to not create any controllers $\endgroup$ – Kuba Oct 2 '15 at 14:30
  • 5
    $\begingroup$ Let me mark it a duplicate of What does None mean in a control specification for Manipulate?. The question is not the same but the answer of Michael fits well. Don't delete you question. $\endgroup$ – Kuba Oct 3 '15 at 6:55