Windows 7 上の Delphi 2007 は、saveDialog.Execute 呼び出しで何もしません。数週間前に別の人がこれについて言及しているのを見たことがありますが、それは Borland c++ の場合でした。
2 に答える
embarcadero ニュースグループのスレッド「TOpenDialog.Execute が機能しない」を参照してください。
「HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options」から実行ファイル名を削除することで問題が解決しました。
Windows XP でも同じ問題 (savedialog が機能しない) が発生しました。
あなたが言及した embarcadero グループの大量の交換によると、何度も失敗した後 (https://forums.embarcadero.com/thread.jspa?messageID=196950&tstart=0#196950)。
その理由は次のとおりです。Savedialog12 の最初のファイル dir とファイル名が正しくなく、互いに矛盾していました。ファイル名には、最後に開いたファイルのフルパスが含まれていました (ファイルの保存を準備するのが賢明だと思っていました)。残念ながら、initialdir に入力した内容は、ファイル名に入力した内容と同じでした!)
この問題は、保存ダイアログの両方のフィールドをクリアすることですでに解決されています。
さらに、節約を準備するという私の最初の目標は、関連するフィールドに有効な値を入力することで達成されました。
SaveDialog1.FileName:=ExtractFileName(Opendialog1.Filename);
SaveDialog1.InitialFileDir:=ExtractFilePath(Opendialog1.Filename);