How to deal with gui's and handles in .m

1 visualizzazione (ultimi 30 giorni)
Michele
Michele il 11 Nov 2013
Commentato: Image Analyst il 18 Nov 2013
Basically from a gui i run with a function a .m file that contains a for cycle. Let's suppose that this cycle has 2 iterations. At the end of the first iteration i'd like to display in the gui the percentual of the routine, therefore have an output in the gui.
This is the part of the code that i have at the end of the for cycle in the .m file of the function
compl=(index/num_repetitions)*100;
assignin('base','compl',compl)
compl = evalin('base', 'compl');
handles=guidata(handles.percentual);
set(handles.percentual,'String',compl);
While this is the error i obtain
??? Undefined function or variable "handles".
Error in ==> sim_main_part2 at 138 handles=guidata(handles.percentual);
Error in ==> GUI>simulate_Callback at 237 [y]=sim_main_part2(ll, dz, stDdz, z, teta, Const_x, Const_y, PixScale, num_repetitions);
What should i do to make it work? Thank you for any help

Risposte (2)

Doug Hull
Doug Hull il 11 Nov 2013
This line of code does not make much sense
handles=guidata(handles.percentual);
It is unclear what it should be out of context, but watch the video and you should be fine.
  1 Commento
Michele
Michele il 11 Nov 2013
Modificato: Michele il 11 Nov 2013
i am sorry but it did not help. it always says
??? Undefined function or variable "handles".
Error in ==> sim_main_part2 at 138 set(handles.percentual,'String',num2str(compl));
Error in ==> GUI>simulate_Callback at 237 [handles, y]=sim_main_part2(ll, dz, stDdz, z, teta, Const_x, Const_y, PixScale, num_repetitions);
Error in ==> gui_mainfcn at 96 feval(varargin{:});
Error in ==> GUI at 42 gui_mainfcn(gui_State, varargin{:});
Error in ==> @(hObject,eventdata)GUI('simulate_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
and thank you for the help!

Accedi per commentare.


Image Analyst
Image Analyst il 11 Nov 2013
You called sim_main_part2() but didn't pass in handles. Since it's not a GUIDE-generated callback, it does not automatically have handles in the private, local workspace of the sim_main_part2() function. If you want to use handles in that function, you will have to pass it in, and list it as an argument in the function declaration line:
function y = sim_main_part2(handles, ll, dz, stDdz, z, teta, Const_x, Const_y, PixScale, num_repetitions)
% Code goes here...
If you change handles, you can pass it out also:
function [handles, y] = sim_main_part2(handles, ll, dz, stDdz, z, teta, Const_x, Const_y, PixScale, num_repetitions)
% Code goes here...
  15 Commenti
Michele
Michele il 18 Nov 2013
actually i expected to solve it sooner, then other tasks rised. can you please give me an email address where to send the files? Then of course i will write here the solution to the problem.
Image Analyst
Image Analyst il 18 Nov 2013
You can attach files here. I don't take files via email. But I give no guarantee that I'll have time to look at them.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by