我有一个使用 C++ Builder 2009 构建的旧应用程序,很长一段时间都没有受到影响,它仍然可以正常工作。也就是说.. 今天我注意到一些TSaveDialog->Options
在我的 Windows 10 系统上无法正常工作。为了确保我不是在做梦,我在较旧的 Windows 版本(我尝试过 XP)上测试了相同的应用程序,并且它按预期工作得非常好。
该TSaveDialog
实例是在设计时设置的Options
: [ofHideReadOnly,ofAllowMultiSelect,ofEnableSizing]
我今天注意到(在 Windows 10 上)ofAllowMultiSelect
不再起作用了?而是ofOverwritePrompt
(错误地)使用!换句话说,我不能再选择两个或更多文件,当我选择一个已经存在的文件时,我首先会看到一个“确认另存为”对话框。
当我在我的 Windows 10 系统上使用 C++ Builder 2009 以调试模式和检查再次编译时,调试Options
器似乎(仍然)正确地看到ofHideReadOnly
, ofAllowMultiSelect
, ofEnableSizing
,但问题仍然存在。所以这不是好像价值观以某种方式改变了?
当我在运行时尝试时:
SaveDialog->Options.Clear() ;
SaveDialog->Options << ofHideReadOnly << ofEnableSizing << ofAllowMultiSelect ;
问题也依然存在!
当我删除ofAllowMultiSelect
(在运行时或设计时)时,现有文件上不再显示“确认另存为”(但我显然仍然无法选择多个文件)。
老实说,我对此感到震惊?不知道下一步该怎么做 ?我没有选择测试更新的 c++ 版本,但我也很难理解编译器如何在这里负责。
任何指导表示赞赏。
由于 C++ Builder 和 Delphi 之间的 VCL 重叠而添加了 Delphi 标记