我必须维护一个大型的 MATLAB GUI,其中包含相当多的回调函数,每个回调函数都在很多点被调用。在某个时候,我决定重命名其中一个回调;为了不必通过 GUIDE 手动修改调用它的每个 UI,我使用出色 gencode
的程序“解包”.fig 文件s/old_name/new_name/g
,并重新创建 .fig。
这似乎运作良好,除了一件事:单击按钮组中的按钮时,我收到一条消息,告诉我该功能manageButtons
未知。经过一番谷歌搜索,我发现这manageButtons
是一个嵌套函数childAddedCbk
,我假设它在创建 GUI 时由 GUIDE 调用。现在,尝试从manageButtons
外部移动到它自己的路径内文件也不起作用:hgroup
传递给它的是一个invalid handle object
.
那么......有人有解决方法吗?以下任何一项将不胜感激:
- 以半自动方式更改 GUI 中的所有回调,或
- 使
manageButtons
获取有效句柄,或 - 没有
gencode
打破这一切。
谢谢,
安东尼