Problem with GUI Checkbox Handles in Matlab

2 Ansichten (letzte 30 Tage)
Mohsin
Mohsin am 15 Nov. 2018
Kommentiert: Mohsin am 16 Nov. 2018
I have write a code using GUI to get the values from two Checkboxes and plot the results.
Variables are Gain and PT. Handles from Check boxes are handles.cbox_LG & handles.cbox_LG_PT_15.
I have initated the Handles in GUI and set the
handles.cbox_LG = get(hObject,'Value');
guidata(hObject,handles) in the Callback.
Then i add the Run Push Button to send the function in the main program and in this Main, i use follwoing IF statement.
if (Gain == 1 && PT == 1 && handles.cbox_LG == 1 && handles.cbox_LG_PT_15 == 1)
But the Matlab gives the error with
"Reference to a cleared variable handles.
Error in S_Curve_Test (line 90)
if (Gain == 1 && PT == 1 && handles.cbox_LG == 1 && handles.cbox_LG_PT_15 == 1)||(Gain == 1 && PT == 2 && handles.cbox_LG == 1 && handles.cbox_LG_PT_25 == 1)"
Please provide the remedy for this fault.
  4 Kommentare
Mohsin
Mohsin am 16 Nov. 2018
@Luna.. can you guide me where can i assign handles?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 16 Nov. 2018
you clearvars as the first thing inside your function. When you do that the names associated with the parameter list continue to exist for name resolution purposes but they are marked as being associated with a cleared variable .
The only reason to have a clearvars as the first statement inside a function is in order to deliberately provoke odd behavior like you are observing , so we must conclude that the code is acting exactly as it was designed to act.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by