I have problems making Button evaluate an input like this one:
Button["Load", Get["/Users/simonlausen/Desktop/Input/ex1.mx"]]
I have tried a bunch of things, but haven't found any elegant solution. What to do?
I have problems making Button evaluate an input like this one:
Button["Load", Get["/Users/simonlausen/Desktop/Input/ex1.mx"]]
I have tried a bunch of things, but haven't found any elegant solution. What to do?
I think the answer is that the main link has to evaluate the Get call. Reusing Mr.Wizards test:
Export["testfile.m", "Print[2+2]; f[x_]:=Sin[x]", "String"]
Button["Load", Get["testfile.m"], Method -> "Queued"]
works for me. For an explanation what I mean with main link you could check the chat log. I don't know whether it is good practice to include links of this here.
http://chat.stackexchange.com/transcript/message/8608385#8608385
Method -> "Queued" does not help with the example I gave. It may help when loading a package takes longer than the time-out, but I'm not sure if that is the problem the OP is having or if it is more akin to this.
– Mr.Wizard
Apr 01 '13 at 23:15
One can see that the Get operation does work, but simple output is suppressed:
Export["testfile.m", "Print[2+2]; Sin[1]", "String"]
Button["Load", << "testfile.m"]
When the button is clicked 4 is printed, but Sin[1] is not.
This is the same as: Button["Go", Sin[1]] which also does not print when the button is clicked.
If Get is used directly:
<< "testfile.m"
4
Sin[1]
At the moment I cannot recall how to get the plain output printed to the evaluation Notebook.
EDIT: It appears there is no simple way:
Method -> "Queued"is almost always the answer to questions about buttons that don't work as expected when the button action requiers Mathematica to do something that takes some time. I have posted a list of some of the previous similar question here. This question might be considered a duplicate on any of these. – m_goldberg Apr 01 '13 at 23:09