0

当我尝试在非回调函数中访问句柄结构的数据成员时,它给了我“对不存在的字段的引用......”错误。还是您只能在matlab gui编程中的回调函数中使用句柄结构?

4

1 回答 1

0

如果要在随机函数中使用句柄,则必须使用以下内容:

handles = guidata(hObject);

这允许您“加载”句柄结构以及句柄在哪里hOject,请确保在您正在编写的函数中使用参数传递此变量:

function [var_out] = my_function(var_in,hObject,handles)
    handles=guidata(hObject);
    %some code
    guidata(hObject,handles);
end;

如果您想“保存”您对句柄结构所做的一切,最后一行很有用。这样,您将能够在非回调函数中使用句柄结构:

function my_callback(hObject,eventdata,handles)
    %some code
    [var_out] = my_function(var_in,hObject,handles);
end

如果您调用my_function回调,所有这些都有效。

于 2013-07-10T07:55:27.843 回答