How to export from a GUI (.exe) to MATLAB workspace?
2 views (last 30 days)
Show older comments
Hi, Can anyone guide me how to export a created array in a GUI(.exe) to the MATLAB '*base*' workspace? Note: by GUI(.exe), I mean I've created a GUI .exe file using '*deploytool*'. If I run my GUI .m file (or .fig file using 'guide') I can use '*assignin*' function to do this export. But the mention function does not work if I run my .exe GUI. Should I run MATLAB from .exe GUI?
Thank you so much
0 Comments
Accepted Answer
Walter Roberson
on 13 Jun 2011
The .exe has its own base workspace that you can assign in to all you like, but it will vanish as soon as the executable ends -- just like happens if you were to do something in MATLAB and then exit MATLAB.
Running MATLAB from the .exe wouldn't help much, in the sense that the .exe would not be able to make assignments in to the workspace of the live MATLAB.
The .exe could save() variables in to a .mat file, and you could load() the .mat file.
7 Comments
Gerd
on 14 Jun 2011
Of course you can make an .exe out of your code and share the program with other users. When all user want to share data (results, input vectors) I would use the load and save functions.
It is the same as you share and .xls ord .doc file
More Answers (2)
math98
on 14 Jun 2011
3 Comments
Chirag Gupta
on 14 Jun 2011
I must have deleted my previous answer by mistake. A possible solution for your unique case might be to use actxserver (actxGetRunningServer) [on windows only]. I think this might work, but I haven't really tried this.
math98
on 14 Jun 2011
4 Comments
Walter Roberson
on 14 Jun 2011
MATLAB has communications channels available, but you have put on tight enough restrictions as to how you want them to work that it is not possible to access the channels in your design. Communication has to be specifically enabled in almost all software systems. For that to happen, *some* code has to run in the context of the program that starts up the second program. The setup might only take a couple of statements, but you have put on restrictions that do not allow _any_ execution in the starting program: you insist on a single executable that runs in a different context.
I have not looked at the details of how .fig files are implemented. I have some ideas as to why a stand-alone .fig would likely not work, but I would have to test those ideas.
Note: Chirag works for Mathworks, but I am an experienced software developer who uses MATLAB as a customer; I have never had access to the internal design of MATLAB and I have never had access to Mathworks policy or planning.
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!