2012-12-31 2 views
0

하나의 푸시 버튼 & 네 개의 편집 상자가있는 Matlab GUI 프로그램을 개발했습니다. Matlab 소프트웨어로 실행할 때 응용 프로그램이 제대로 작동하지만 exe 파일 (독립형)로 변환 한 후 푸시 버튼이 작동하지 않으면 '결과'편집 상자에 출력이 표시되지 않습니다. 그래서 뭐가 문제 야? 난 그냥 힌트로,matlab exe 파일의 푸시 버튼이 작동하지 않습니다

result=sum*((b-a)/2); % "result" is numeric 
set(handles.txbResult,'string',result); % "result" should be string 

다음과 혼란 조금 해요,

function btnCal_Callback(hObject, eventdata, handles) 
a=str2num(get(handles.txbLow,'string')); 
b=str2num(get(handles.txbHi,'string')); 
f=get(handles.txbForm,'string'); 
x=0.5*((b-a)*(-1*(3/5)^0.5)+b+a); 
g=subs(f,'x',x); 
sum=(g)*(5/9); 
x=0.5*(b+a); 
g=subs(f,'x',x); 
sum=sum+(g)*(8/9); 
x=.5*((b-a)*((3/5)^.5)+b+a); 
g=subs(f,'x',x); 
sum=sum+g*(5/9); 
result=sum*((b-a)/2); 
set(handles.txbResult,'string',result); 
+0

당신이 버튼을 누르면 완전히 아무 변화가 없음을 의미합니까? 당신은 exe가 전혀 아무것도 할 수 있습니까? MATLAB을 사용하는 컴퓨터에서 exe를 사용하고 있습니까? –

답변

0

첫째 : 여기 내 푸시 버튼 코드입니다. 배포 된 코드를 "디버그"하려면 cmd에서 exe를 실행하십시오.이 경우 일부 메시지가 표시되어 도움이 될 수 있습니다.

0

'결과'는 double, char 또는 cell 중 하나 여야합니다. 예를 들면 다음과 같이 할 수 있습니다.

set(handles.txbResult,'String',char(result); 

그러나 나는 내 Mac에서 이와 비슷한 문제를 겪었습니다. MATLAB에서 "실행"을 통해 실행하면 응용 프로그램이 잘 실행되지만 일단 standalone.app에 컴파일하면 버튼을 누를 때이 오류 소리가 들리지만 아무 것도 일어나지 않습니다.

'result'변수를 "global"로 설정하면 ("매우 간단하게"a + b "를 계산하는) 다른 프로그램에서이 문제를 해결하는 데 도움이되지만 언급 한 약간 더 복잡한 코드 1 대신 2 입력 및 3 출력 대신).

하고있다 슈퍼 간단한 코드 :

function pushbutton1_Callback(hObject, eventdata, handles) %the button to push 
...some code... 
global statText; 
set(statText,'String',char(output)); 

function text1_CreateFcn(hObject, eventdata, handles) %the outputfield 
global statText; 
statText = hObject; 
관련 문제