Delphi FMX OpenDialog是missiong OPtions列表

时间:2017-05-01 02:08:06

标签: delphi

我在表单中添加了一个TOPenDialog组件,并编写了菜单方法来操作它。我从VCl项目中复制了代码,包括行openDialog1.Options := [ofReadOnly];

编译器拒绝它,因为无法识别.ReadOnly(和其他选项)。 TopenOptions类型包含在VCL.Dialogs中,但似乎没有出现在FMX版本中。

我目前正在使用不包含FMX.dialogs.pas文件文本的Delphi入门版本,因此我无法将选项添加到设备中。在使用部分包括VCL.dialogs文件修复此问题?我听说在同一个程序中将VCL和FMX单元混合在一起并不是一个好主意。

1 个答案:

答案 0 :(得分:2)

如果你阅读了Embarcadero的文档,你会发现FMX.Dialogs.TOpenDialog.Options属性使用System.UITypes.TOpenOptions属性使用的VCL.Dialogs.TOpenDialog.Options类型,因此两个对话框都有相同的选项可用。

您的代码未编译的原因是因为TOpenOption枚举已声明并启用了{SCOPEDENUMS ON}指令(请参阅Scoped Enumerations)。您需要使用包含枚举类型名称的带范围的枚举值作为前缀,例如

uses
  ..., System.UITypes;

OpenDialog1.Options := [TOpenOption.ofReadOnly];