如果我理解正确的话,你要调用的函数
project_changed
通过回调函数
uimenu
这导致你描述的错误。
这种行为是由回调函数是这一事实
callbackstring
变量。由于这是一个只是一个字符串,调用函数是不工作的,因为可能是检查。
为了使你的“可见”功能,您需要创建一个单独的回调函数
uimenu
。要做到这一点,替换
callbackstring = [“…。”]
与
callbackstring = {@uimenu_callback, CarID_Name y_get, j, k};
在哪里
uimenu_callback
如下功能:
函数uimenu_callback (hObject、事件、CarID_Name y_get, j, k)
处理= guidata (gcbf);
sprintf (handles.DATA. % s %年代(% d % d) =南;”、CarID_Name y_get j k);
project_changed(真的,处理);
guidata (hObject处理);
删除(gco);
在这个函数中,
sprintf
应该改变
eval
为了评估作为命令的字符串。同样,如果
guidata (gcbf)
不给你吗
处理
,你应该考虑他们作为参数传递给回调函数。
作为边注,我建议使用
回调函数
而不是
调“字符串”
,因为这将使您能够执行调试容易。