我有一个 Delphi 应用程序 (D2010),它允许用户通过 OpenDialog 选择一个 JPG 文件。当我从普通的 Windows 目录中选择文件时,我的 TOpenDialog.Filename 包含文件的完整路径,并且我的代码有效。我遇到的问题是用户经常将文件电话复制到手机中。当用户插入手机,运行我的代码时,TOpenDialog 显示手机上的文件,用户选择正确的 jpg 文件,但 TOenDialog.Filename 不包含文件的路径(只有文件的名称),所以我的程序找不到该文件。
对于 CAMERAS 和 CELL PHONES,图片目录是 DCIM 目录。无论出于何种原因,Windows 7 以及可能所有其他系统都不会向该目录提供驱动器号。因此 TOpenDialog 只返回文件名,而不是完整的路径名。这意味着我无法复制文件,因为我没有完整的路径名。
所以简而言之,我的问题是:当路径是手机上的存储区域(在我的情况下,iPhone 5)时,我如何使用 TOpenDialog 来获取完整的路径名。XE5 有一个名为 GetCameraPath 的例程,但 D2010 没有。