Error with set(handle​s.text1,'S​tring','te​st') at GUI

Hello,
I'm working on some GUIs and I use the set(handles.anything,...) command often. Today when I opened Matlab and tried to work on the project, I get errors evertime, a line occurs, using the syntax 'handles.anything'. The notion is: "Attempt to reference field of non-structure array." The error is not limited to a certain command. I reduced the problem to a blank gui, inserting a text field and a button. By clicking the button, one command works fine (this uses 'gcf'), the other one fails:
set(handles.text1,'String','anything');
Thank you for your help.
Ferdinand

6 Kommentare

Friedrich
Friedrich am 18 Apr. 2012
Can you post the gui code from your example?
Of course, but this is mainly the automatically generated GUI by Guide. I deleted all out commented lines.
The only change is done at "function pushbutton1_Callback".
function varargout = test_gui(varargin)
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @test_gui_OpeningFcn, ...
'gui_OutputFcn', @test_gui_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function test_gui_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = test_gui_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles)
display Goodbye
f=get(gcf,'Position');
set(gcf,'Position',[f(1)*rand f(2)*rand f(3) f(4)]);
set(handles.text1,'String','CHANGED TEXT');
Have you written it inside the initialization code?
Because if you look at the comment in the beginning of that section, that could be the problem.
I didn't wrote it into the initialization. The format here is not very clear.
In the meantime, I recognized the following: if I run the m-file, the GUI works. If I run the figure, which belongs to the GUI, the error is produced.
I think, this is it. Just run the name of the file and not the figure itself.
Error in ==> ImageCompression1>pushbutton1_Callback at 91
set(handles.text7,'string',Size);
There would have been more to the error message than that?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Carlos Andres Ramiez Irene
Carlos Andres Ramiez Irene am 25 Nov. 2017
Bearbeitet: Walter Roberson am 25 Nov. 2017

0 Stimmen

% ---Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved -to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
syms x;
ingreso=char(inputdlg('ingrese funcion'));
f=inline(ingreso);
n=str2double(inputdlg('ingrese numero de expresiones para la serie'));
ev=taylor(f(x),'order',n)
fun=string(ev);
set(handles.text1,'string',fun);
% me sale este error Not enough input arguments.
%Error in pushbutton1_Callback (line 12)
%set(handles.text1,'string',fun);

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by