Multiple windows opened when executing a matlab standalone program

조회 수: 15 (최근 30일)
Simon Munier
Simon Munier 2012년 2월 8일
편집: Matt Kindig 2013년 10월 10일
I am trying to create a standalone program on Win7 that just open a figure and plot a simple function. For example, my program just execute the following two lines: figure(1); plot(1:10,sin(1:10));
I used Matlab Compiler to compile a standalone program (.exe) that works well. The problem is that before creating the figure, several windows are opened (Command Window, Command History, Help, Workspace, Current Folder and Editor).
Is there a way to avoid the opening of these windows?
Thanks in advance.
  댓글 수: 3
Simon Munier
Simon Munier 2012년 2월 10일
Either with the mcc command or with deploytool. Both give same results.
amit pathania
amit pathania 2012년 4월 18일
How to create standalone applications in MATLAB 2012?I am not getting errors while running MATLAB compiler.If someone can help me with steps starting from which all compilers MATLAB 2012a supports?

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

답변 (2개)

Simon Munier
Simon Munier 2012년 2월 9일
After having tryed different configurations, it seems that when launching my standalone program, Windows uses Matlab instead of MCR.
Does anyone know how to force Windows to use MCR ?
  댓글 수: 2
Simon Munier
Simon Munier 2012년 2월 10일
When I compile the matlab function, multiple matlab windows open as when I run the executable compiled program. In both cases, it seems that a new matlab session opens.
I compiled my function on another pc and these windows do not open. The only difference between the two pc is that one is in 32 bits while the other (the one where windows open) is in 64 bits. Could it be the origin of the problem?
Simon Munier
Simon Munier 2012년 2월 10일
Here is a snapshot of what happens when I compile my function.
https://docs.google.com/open?id=0BxuqGNu2WMOfZmZmN2ZjOTItZGQ3ZC00NjJiLTk4NjEtMmUyZTRmMjU3ODA4
Matlab is running in the background window. The new opened windows are in the red box.
There is one more thing that I do not understand, that is the text in the command window:
FEATURE "MATLAB" could not be read.

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


Eero Kuusi
Eero Kuusi 2012년 2월 10일
I have had the same problem for ages. I made a workaround as follows:
global STARTUP_COMPLETE if STARTUP_COMPLETE return end script STARTUP_COMPLETE = 1;
This effectively removed the duplicate window from opening. However I'm making alterations in my program (putting in copy protection algorithms to be exact) and I must somehow prevent the dual launching from happening. Any advice would be greatly appreciated, I haven't been able to solve this problem.
I'm running r2009a (same thing happens for all earlier versions as well).
br, Eero
  댓글 수: 2
Simon Munier
Simon Munier 2012년 2월 10일
I do not understand the modifications you made. Could you be more clear in the code you added, please?
Namely, where did you add it? At the beggining of the program to be compiled? What is 'script'?
Thanks
Eero Kuusi
Eero Kuusi 2012년 2월 13일
Script is a .m file that doesn't have any functions inside. But it shouldn't make a difference if the main .m file a script or a function, both seem to work fine.
Here's a mock version of a standalone program that uses my modification:
global STARTUP_COMPLETE
if STARTUP_COMPLETE
return
end
disp('Hello World!')
STARTUP_COMPLETE = 1;
This should prevent 'Hello World!' from being displayed twice when you run the program. Naturally, it should prevent anything after the if clause to be run twice. It worked fine for me until I made some more complex modifications.

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

카테고리

Help CenterFile Exchange에서 Graphics Object Programming에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by