Open .Fig file with compiled exe
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Stefano Cucchi
le 26 Fév 2022
Commenté : Walter Roberson
le 6 Juin 2023
Hello,
i'm having a problem opening .fig files using a executable file compiled with Matlab Compiler. The strange fact is that if i use the normal script (in Matlab) the .fig files are opened properly, but not using the executable.
Here's the code:
%get the list of files in the current directory
a=dir;
a(1:2)=[];
%create list of names with only .fig files
j=1;
for i=1:length(a)
list_fig(j)=string(a(i).name);
if endsWith(list_fig(j),'.fig')
j=j+1;
else
list_fig(j)=[];
j=j;
end
end
%choose the .fig files i want to open
[indfig,tf] = listdlg('ListString',list_fig,'SelectionMode','multiple','Name','Seleziona figure','ListSize',[250,150]);
for i=1:length(indfig)
openfig(list_fig(indfig(i)));
end
If i use OpenFile.exe i get this result:

If i use OpenFig.m i get this (correct) result:

As you can see, in the second case i get more useful "tools" (Edit Plot is the one i really need).
Why? How can i solve this problem?
Thank you in advance
0 commentaires
Réponse acceptée
Walter Roberson
le 26 Fév 2022
The plot editor cannot be used from standalone execution
If the tools could be used then users would be able to set arbitrary code as callback functions, and so would gain access to functions not compiled into the executable, which would be a license violation.
Question: why are you not using
a=dir('*.fig');
to avoid the loop testing the file name?
And how do you know which directory to cd to in a portable way? See uigetfile() and ctfroot()
2 commentaires
Walter Roberson
le 6 Juin 2023
I recommend that you have your lawyer assess the Mathworks license terms before relying on your personal interpretation.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Startup and Shutdown dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!