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

1 次查看(过去 30 天)
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

回答(2 个)

Doug Hull
Doug Hull 2013-11-11
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 个评论
Michele
Michele 2013-11-11
编辑:Michele 2013-11-11
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!

请先登录,再进行评论。


Image Analyst
Image Analyst 2013-11-11
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 个评论
Michele
Michele 2013-11-18
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 2013-11-18
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by