【问题标题】:Action property dropdown displays 'You cannot set property...'操作属性下拉菜单显示“您无法设置属性...”
【发布时间】:2019-11-26 12:36:22
【问题描述】:

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

在 VCL 表单(TForm 后代)中,Object Inspector 为所有 TAction 属性显示 'You cannot set property...',而不是显示 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

【问题讨论】:

  • 我们如何重现这个问题?
  • @DavidHeffernan:您可以通过将“无”设置为项目的当前框架来重现该错误,但我无法做到这一点

标签: delphi delphi-xe7


【解决方案1】:

我已经按照以下步骤重现了这个问题:

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

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


问题可以解决如下:

  • 右键单击“Package1.bpl” 从项目经理 -> 添加新 -> VCL 表单
  • 选择是
  • 保存项目(即使不保存新添加的表单)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多