TSaveDialog を含むフォームがあります。Execute 関数を呼び出しても、IDE から実行するとポップアップしません。スタンドアロンで実行するとポップアップします。もう少しテストしたところ、すべての TSave/TOpen ダイアログが機能しないことがわかりました。動作していないということは、ポップアップなしで Execute が返されることを意味しますFalse
(更新されたコード例を参照してください: ダイアログが先行することなく、常にメッセージ 'False' がポップアップします)。他のダイアログ(フォント/色など)は動作します。
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute
then ShowMessage ('True')
else ShowMessage ('False');
end;
デバッグなしで実行すると、ダイアログはどちらも表示されません。また、リリースまたはデバッグ構成が選択されているかどうかも問題ではありません。
どうやら IDE は奇妙なことをします。フォームには 2 つの TSaveDialog コンポーネントがあり、どちらも同じ動作を示します。
何が間違っているのですか?
Windows 7 で Delphi XE を使用するUpdate 1。TSaveDialogs を使用する他のプロジェクトは正常に動作します。
更新 2 TSaveDialog に関する元の質問がすべての TSave/TOpen ダイアログに適用されることがわかりました。この知識を含めるように質問が編集されました。
更新 3同様のエラーのこのリンクを見つけました。ただし、レジストリを確認しましたが、前述の実行可能ファイルが見つかりませんでした。TSaveDialog は IDE の外部で正常に動作するため、互換性を XP に変更するためのヒントは適用されません。