Open .Fig file with compiled exe

조회 수: 6 (최근 30일)
Stefano Cucchi
Stefano Cucchi 2022년 2월 26일
댓글: Walter Roberson 2023년 6월 6일
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

채택된 답변

Walter Roberson
Walter Roberson 2022년 2월 26일
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
Stefano Cucchi
Stefano Cucchi 2022년 2월 26일
Thanks for your answers and your advices!
Walter Roberson
Walter Roberson 2023년 6월 6일
I recommend that you have your lawyer assess the Mathworks license terms before relying on your personal interpretation.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by