[英]I am using ModelSim Altera 10.3d Quartus II 15.0 starter edition. When I open it I get an error message
can't read "_clients()": no such variable while executing "set _currObj $_clients($cid)" (object "::.bookmarkmgr" method "::vsimwidgets::bookmarkmgr::_setcurrent" body line 11) invoked from within "_setcurrent $cid" (object "::.bookmarkmgr" method "::vsimwidgets::bookmarkmgr::_menu_prepost" body line 16) invoked from within "::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1" (in namespace inscope "::vsimwidgets::bookmarkmgr" script line 1) invoked from within "namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}" ("eval" body line 1) invoked from within "eval $post_cmd" (procedure "::Vsimmenu:efaultMenuPostCmd" line 41) invoked from within "::Vsimmenu:efaultMenuPostCmd .mBar.bookmarks {namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}} Se..." (menu preprocess)
如何消除这个错误
好的,您正在查看由事件回调引发的 Tcl 堆栈跟踪。 您需要有点创造力才能弄清楚这意味着什么,以及为什么会出现问题。 特别是,我们看到您试图从一个不存在的变量中读取; 这意味着_clients
数组不是您认为的那样,或者cid
在您不希望它是空字符串时是空字符串。
确定_clients
是否正确的唯一方法是查看代码(您没有向我们展示)。 如果您需要说global _clients
或variable _client
或类似的东西(可能涉及upvar
),请特别检查。
如果cid
意外为空,您将要追溯它。 猜测,它是从标识为的菜单回调传入的空值:
::Vsimmenu:efaultMenuPostCmd .mBar.bookmarks {namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}} Se...
它不会在代码中看起来像那样。 您正在寻找可以创建使用namespace code
命令的菜单绑定的东西,其中的东西可能会变成::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1
作为主体。 我猜它会依次使用list
、小部件名称等来完成。但它也可能全部包含在某种抽象的小部件管理代码中; 这是不平凡的,除非你是幸运的追捕下来。
如果您没有编写任何自己的代码来触发此操作,而您只是尝试启动应用程序,请联系供应商并提交支持请求。
我就这个问题联系了供应商,他们为我的机器提供了修复程序。
对于 Windows:
- 单击桌面上的开始按钮并搜索“regedit”
- 展开“HKEY_CURRENT_USER”> 展开“软件”> 展开“模型技术”> 选择“ModelSim”
- 删除此文件夹中的所有文件
- 重启 ModelSim
对于 Linux:
您的主目录中应该有一个“.modelsim”文件。 请删除此文件,然后当您重新启动 ModelSim 时,它会自动为您创建一个新的 .modelsim 文件。
对于 Windows:
单击桌面上的开始按钮并搜索“regedit”展开“HKEY_CURRENT_USER”>展开“软件”>展开“模型技术”>选择“ModelSim”删除此文件夹中的所有文件重新启动ModelSim
谢谢,工作:) 非常感谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.