我有一个带有 TSaveDialog 的表单。当调用 Execute 函数时,从 IDE 运行时它不会弹出。单机运行时会弹出。对其进行更多测试,我发现所有 TSave/TOpen 对话框都不起作用。不工作意味着 Execute 在False
没有弹出窗口的情况下返回(请参阅更新的代码示例:总是弹出消息“False”而前面没有对话框)。其他对话框(字体/颜色/等)确实有效。
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute
then ShowMessage ('True')
else ShowMessage ('False');
end;
当运行而不调试时,对话框都不会出现。选择 Release 或 Debug 配置也无关紧要。
显然 IDE 做了一些奇怪的事情。表单上有两个 TSaveDialog 组件,它们都显示相同的行为。
知道有什么问题吗?
在 Windows 7 上使用 Delphi XE更新 1。使用 TSaveDialogs 的其他项目工作正常。
更新 2发现关于 TSaveDialog 的原始问题适用于所有 TSave/TOpen 对话框。问题已被编辑以包含此知识。
更新 3我发现了类似错误的这个链接。但是,我检查了注册表,但找不到上述的可执行文件。并且将兼容性更改为 XP 的提示不适用于 imho,因为 TSaveDialog 在 IDE 之外可以正常工作。