필터 지우기
필터 지우기

Using an external function in GUI closes the interface

조회 수: 1 (최근 30일)
Inês
Inês 2014년 7월 16일
편집: Inês 2014년 7월 17일
Hello!
I am using an external function I made outside GUI (heart_rate.m) and I am using it in a push button in GUI. The problem is that every time I press the button, the functions runs and returns the value I want, but after the interface just closes by itself.
At the moment the code is something really basic like this:
function pushbutton_connect_Callback(hObject, eventdata, handles)
(..)
global HR;
HR = heart_rate(data1,sr);
msgbox(sprintf('Your heart rate is: %3.f', HR));
The msgbox appears and shows the correct number for data1, but then the thing just closes. I have also used a different external function just to test and the behaviour is the same.
Any idea on what is the problem? I am relatively new to guide, so I apologize in advance for any mistakes I may say :)
  댓글 수: 3
Joseph Cheng
Joseph Cheng 2014년 7월 16일
the whole gui closes? or just the msg box?
Inês
Inês 2014년 7월 17일
편집: Inês 2014년 7월 17일
The whole gui closes. For this function there is only this portion of code, and its not connected with to any other function on gui as I am still testing it.
I narrowed to problem to the line where I call the function heart_rate. If I run the code without calling the function (i.e. comment that line) the message box appears and nothing closes. Otherwise when I run without the msgbox the interface closes down again.
If it helps, the function heart_rate is this one: heart_rate

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

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 7월 17일
The heart_rate function, if like that in the above link, has as its first line
close all; clc;clear all;
Calling close all would close the GUI yet still allow the message box to display. Try removing this line and re-running the application.
  댓글 수: 1
Inês
Inês 2014년 7월 17일
편집: Inês 2014년 7월 17일
I forgot to mention that I had deleted that line to avoid such an error. Unfortunately the GUI still closes and no error is displayed :\
EDIT: just understood what the problem was. I edited heart_rate from the link and included some children functions, one of which had close all. Now it'a running.
Thanks Geoff! What a dumb mistake :)

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Migrate GUIDE Apps에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by