Windows 7上的Delphi 2007对saveDialog.Execute调用什么都不做。几个星期前我看到另一个人提到过这个问题,但这与Borland c ++有关。
答案 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);