我必须在以下信息的前提下提出这个问题: 仅当我的应用程序包含TclApp
时,才会出现此问题据我所知,在包装Tcl程序时,如果文件尚未包含在内部文件系统中,则必须lappend
auto_path
程序所需的目录位置set root [file dirname [info script]];
if {$iswrapped} {
lappend auto_path "$root/../../../../myFolder";
set target_dir "$root/../../../../myFolder";
}
set filename [tk_getSaveFile -initialdir $target_dir -title "Save As"];
。这就是我所做的,但我的代码只适用于tk_getOpenFile,而不适用于tk_getSaveFile。它不是在指定的目录中打开保存对话框,而是在“我的文档”中打开它。
这基本上就是我正在做的事情:
{{1}}
我已经确定这不是Windows的问题(在第一次使用该程序保存/打开后保存对话框打开位置。)当我第一次运行我的程序时在一个全新的系统上,tk_getSaveFile在My Documents中打开,而tk_getOpenFile在正确的文件夹中打开,' myFolder。'
有什么想法吗?
修改
我现在注意到一个非常奇怪的问题,我怀疑它可能是相关的。现在,每当我在C:\下的任何子目录中保存文件时,我只能通过我的程序打开并保存对话框来查看该文件。如果我导航到Windows资源管理器中的相同位置,那么文件不仅不可见,而且根本不可见!这里发生了什么?
修改
我的程序必须以管理员权限运行 - 这就是为什么我得到了那个非常奇怪的错误(第二个。)