我必须维护一个大型的 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打破这一切。
谢谢,
安东尼