SaveDialog.Execute在Windows 7中没有做任何事情

时间:2010-01-28 16:19:51

标签: delphi windows-7 tsavedialog

Windows 7上的Delphi 2007对saveDialog.Execute调用什么都不做。几个星期前我看到另一个人提到过这个问题,但这与Borland c ++有关。

2 个答案:

答案 0 :(得分:3)

embarcadero newsgroups上查看“TOpenDialog.Execute not working”主题。

通过从中删除可执行文件名来解决问题 “HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image File Execution Options”

答案 1 :(得分:2)

我在Windows XP中遇到了同样的问题(savedialog无效)。

根据embarcadero小组的大量交流,你提到了许多不成功的尝试(https://forums.embarcadero.com/thread.jspa?messageID=196950&tstart=0#196950)。

我发现原因是什么:Savedialog12的初始文件目录和文件名是坏的,互相矛盾,文件名包含我打开的最后一个文件的完整路径(我原本认为准备保存是聪明的我最后打开的文件;不幸的是,我在initialdir中放入的文件与我在文件名中的内容相同!)

通过清除保存对话框的两个字段已解决问题。

此外,我通过在相关字段中放置有效值来达到准备保存的初始目标:

SaveDialog1.FileName:=ExtractFileName(Opendialog1.Filename);
SaveDialog1.InitialFileDir:=ExtractFilePath(Opendialog1.Filename);