reference to nonexistent field

Hi there I am trying to link two guis together , I have successfully transfered data between them using setappdata and getappdata But I've got error when trying set data into table (Reference to nonexistent field)
if true
function results_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to results (see VARARGIN)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
a= getappdata(0,'a');
b=getappdata(0,'b');
d=zeros(size(a,1),size(b,2));
set(handles.uitable1,'Data',d)
choice=getappdata(0,'choice');
switch choice
case 1
if size(a)==size(b)
r=a+b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','lenghts must agree')
end
case 2
if size(a)==size(b)
r=a-b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','lenghts must agree')
end
case 3
if size(a,2)==size(b,1)
r=a*b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','inner dimensions must agree')
end
case 4
set(handles.uitable1,'Data',inv(a))
case 5
end
end

12 Commenti

Impossible to say what's wrong until you show us the relevant lines of code where you call those two functions. For example, how do we know that you passed in the correct handles?
if true
function results_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to results (see VARARGIN)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
a= getappdata(0,'a');
b=getappdata(0,'b');
d=zeros(size(a,1),size(b,2));
set(handles.uitable1,'Data',d)
choice=getappdata(0,'choice');
switch choice
case 1
if size(a)==size(b)
r=a+b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','lenghts must agree')
end
case 2
if size(a)==size(b)
r=a-b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','lenghts must agree')
end
case 3
if size(a,2)==size(b,1)
r=a*b;
set(handles.uitable1,'Data',r)
else
set(handles.text1,'string','inner dimensions must agree')
end
case 4
set(handles.uitable1,'Data',inv(a))
case 5
end
end
Hamza
Hamza il 7 Mar 2016
where are you?
Geoff Hayes
Geoff Hayes il 7 Mar 2016
Modificato: Geoff Hayes il 7 Mar 2016
Hamza - as Image Analyst commented, it isn't clear from within your code where or how the two GUIs are tied together. Which line of code is generating the error? Is the uitable1 part of your results GUI? Please don't copy and paste the same body of code (again). Just include the relevant lines of code that generate the error and/or link the two GUIs.
Hamza
Hamza il 7 Mar 2016
This code taken from second GUI Yes the error is in uitable part
Hamza - which line of code is generating the error? Are you sure that uitable1 exists in the second GUI? Put a breakpoint at
choice=getappdata(0,'choice');
and run your code. When the debugger pauses at this line, look at the handles structure. Is there a field called uitable1?
Also, what is your work flow. Do you launch the first GUI and do some work, and then manually launch the second GUI? Please describe the steps.
Hamza
Hamza il 7 Mar 2016
Modificato: Hamza il 7 Mar 2016
The error when I set data to table Yes I am sure uitable is exist My workflow is I push button in gui 1 then gui2 pop up and store data taken from gui1 in gui2
And what happens when you put a breakpoint at the line I mentioned? Please try that and verify uitable1 exists. Else post the m and fig files for your GUI so that we can verify that it is correct.
Hamza
Hamza il 7 Mar 2016
the error begins from here set(handles.uitable1,'Data',d)
So given the error message, handles does not have a field named uitable1. Can you post your m and fig files so that we can verify whether or not this control exists in the results GUI?
And, by the way, you missspelled lengths as lenghts.
Hamza
Hamza il 7 Mar 2016
you are right i have uitable2 in my gui not uitable1 thank you very much it works fine

Accedi per commentare.

 Risposta accettata

Geoff Hayes
Geoff Hayes il 7 Mar 2016

0 voti

Hamza - if you look at your results.fig from within GUIDE, you will note that there is one uitable and one static text control. If you double-click on the uitable and look at its Tag property you will see that it is named uitable2 and not uitable1. Change the name, save the figure/GUI, and try again.

1 Commento

Hamza
Hamza il 7 Mar 2016
thank you the tag was uitable2 not uitable1 now it works fine

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Tag

Richiesto:

il 6 Mar 2016

Commentato:

il 7 Mar 2016

Community Treasure Hunt

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

Start Hunting!

Translated by