2012-02-07 42 views
0

测试我的小应用程序,我在Delphi中遇到了保存对话框的问题。 通常情况下,保存对话框出现(否则我保存图像文件),但昨天我在一台计算机上测试了我的应用程序,其中所有数据都在另一个分区 - (D :)目录中 - 而系统单独在(C :)中。 它不起作用:saveDialog.InitialDir:= GetCurrentDir; (保存对话框不会出现。) 我是Delphi的新手,我不知道如何解决一些计算机有两个不同目录中的程序和数据的问题。 请帮助我,在此先感谢!在Delphi中保存对话框,数据位于不同的分区

+4

为了提供帮助,请阅读以下内容:http://meta.stackexchange.com/questions/5234/ – 2012-02-07 12:03:27

+0

您还可以显示代码并告诉我们您拥有哪个版本的Delphi。我不能重现这样的行为。对于什么是值得的,当前目录通常是一个糟糕的初始目录。程序通常安装在只读位置。如果您只是不要设置对话框的初始目录,您将默认获取“我的文档”文件夹。 – 2012-02-07 12:08:42

回答

0

TSaveDialog处理多个分区就好了。你的问题与其他问题有关。

这样说的话,你真的不应该依赖GetCurrentDir(),因为它在你的应用程序的生命周期中会动态改变,所以你永远无法确定它在任何给定时刻的实际指向。无论如何,这不会导致TSaveDialog失败。

TSaveDialog内部使用GetSaveFileName(),所以当它失败时,请尝试拨打CommDlgExtendedError()找出原因。