在Win7上,当新目录位于与当前目录不同的驱动器上时,更改
例如:我想将我的
我已经尝试了与以下帖子中提到的相同的方法,但没有任何成功: Changing the directory of Delphi OpenDialog 编辑: 我正在使用DelphiXE和Win7 32位
路径/目录是正确的:因此,当我将该路径从代码复制并粘贴到对话框本身的“文件名”字段中,并按ENTER键时,对话框会切换到该目录。 只是在我的代码中它不起作用。
更新: 我找到了问题。 如果路径包含一些路径命令,例如
TOpenDialog.InitialDir
似乎无效。例如:我想将我的
InitialDir
从'C:\program files\MyApp' 更改为'D:\test\MyAppData'
这是已知的问题吗,还是只有在我的计算机上出现?我已经尝试了与以下帖子中提到的相同的方法,但没有任何成功: Changing the directory of Delphi OpenDialog 编辑: 我正在使用DelphiXE和Win7 32位
路径/目录是正确的:因此,当我将该路径从代码复制并粘贴到对话框本身的“文件名”字段中,并按ENTER键时,对话框会切换到该目录。 只是在我的代码中它不起作用。
更新: 我找到了问题。 如果路径包含一些路径命令,例如
..\
,则TOpenDialog.InitialDir
无法解析该命令。 使用TPath.GetFullPath(...)
来清理它。
DFM-initialDir
到C:\
,但当执行Button1Click
时,我已经测试将edit1.text
设置为D:\and_folder
并相反。一切都很好运行。 - ferpegaOpenDialog1.InitialDir := 'D:\my_folder'
替换OpenDialog1.InitialDir := edit1.text;
,这样一切都能正常工作。我已经测试过了三个磁盘和不同的文件夹,因此使用了edit1
而不是一个常量字符串。 :-) - ferpega