MATLAB: Input argument “hObject” is undefined?

handleshobject;structure

Hi
I'm trying to figure out the whole handles structure thing. I created two simple functions in two separate m files and I want to see if I can pass data from one to the other using the handles structure. But I am getting an error message when I try to update the handles structure using guidata(hObject,handles)
I get the following error even before the second function is executed.
Input argument "hObject" is undefined
This is my code:
Function one
function fct1(hObject, eventdata, handles)
handles.x=5
handles.b=6
guidata(hObject,handles)
end
Function two
function fct2(hObject, eventdata, handles)
value1=handles.a
value2=handles.b
end

Best Answer

You did not invoke fct1 with three arguments.
MATLAB automatically supplies hObject and eventdata as arguments to (nearly all) callbacks that are invoked as callbacks, but it does not automatically supply those parameters when you invoke the functions manually.
If you are doing this for testing purposes, test with
testgui = figure();
handles.x = -1;
handles.y = 'a test';
guidata(testgui, handles);
fct1(testgui, [], handles);
updatedhandles = guidata(testgui);
fct2(testgui, [], updatedhandles);