无效的命令名称“ :: tk :: dialog :: file ::”

时间:2018-12-08 05:36:07

标签: tcl tk archlinux

我试图在Tcl / Tk中打开一个简单的文件打开对话框,但是每当我运行tk_getOpenFile时,都会出现以下错误:

invalid command name "::tk::dialog::file::"
    while executing
"::tk::dialog::file:: open {*}$args"
    (procedure "tk_getOpenFile" line 5)
    invoked from within
"tk_getOpenFile"
    (procedure "open" line 2)
    invoked from within
...

我正在从Arch Linux存储库中运行最新版本的Tcl / Tk 8.6.9。可能是什么原因造成的?

1 个答案:

答案 0 :(得分:2)

它似乎以某种方式损坏了安装。 tk_getOpenFile中的过程…/tk.tcl(其中是Tk库文件的安装位置)委托给::tk::dialog::file::中的过程…/tkfbox.tcl(是的,一个不寻常的过程名称),但在您的情况下似乎不起作用。文件丢失,或者同一目录中的tclIndex文件损坏。 (这使用了一种旧的机制来自动加载代码,对于在新千年中使用新代码并没有多大用处……嗯,这是为了向后兼容。)