操作 属性 下拉列表显示 'You cannot set property...'

Action property dropdown displays 'You cannot set property...'

我最近将一个应用程序从 Delphi 2007 移植到 Delphi XE7。 为此,我在 Delphi XE7 中创建了一个新的包项目,并从旧 contains 部分复制了表单列表Delphi 2007 dpk 项目文件.

在 VCL 表单(TForm 后代)中,Object Inspector 显示 'You cannot set property...' 所有 TAction 属性而不是显示列表TAction 个对象。

点击消息,会出现一个对话框 'Actions not implemented for the current framework 'None'

我认为这可能是与数据模块的 ClassGroup 属性 有关的一些问题,但表单使用的所有数据模块都设置了 ClassGroup = Vcl.Controls.TControl

项目使用以下单元范围名称编译(选项 -> Delphi 编译器): Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell

我按照以下步骤重现了该问题:

  • 文件 -> 新建 -> 包 - Delphi
  • 右键单击 "Package1.bpl" 从项目经理 -> 新增 -> VCL 表格
  • 将弹出一个要求为项目启用 "Visual Component Library" 框架的对话框,选择 "No"
  • 添加一个TButton对象
  • Object Inspector
  • 中检查按钮的 Action 属性

我可以推断 "Visual Component Library" 框架没有为在 TAction' 属性下拉列表中显示 'you cannot set property...' 的项目启用。


问题可以通过以下方式解决:

  • 右键单击 "Package1.bpl" 从项目经理 -> 新增 -> VCL 表格
  • Select 是
  • 保存项目(即使不保存新添加的表格)

作为这些操作的结果,在 Package1.dproj 文件中,Project.PropertyGroup.FrameworkType 节点的值将从 None 更改为 VCL(我不知道如果 IDE).

中某处有此选项