You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

缺失FmxDesignWindows时,如何在Delphi设计时包中使用FMX.Design.Items?

解决FMX.Design.Items引用及FmxDesignWindows单元缺失问题

官方支持的FMX.Design.Items引用方式

FMX.Design.Items属于Delphi的FMX设计时API,官方并未开放所有依赖单元的源码(包括FmxDesignWindows),仅提供预编译的.dcu文件供设计时包调用。正确的引用方式如下:

  • 基于Delphi自带的设计时包模板创建项目,模板会自动配置好设计时API所需的路径和编译选项
  • 在包的uses子句中直接声明FMX.Design.Items,编译器会自动解析依赖的预编译单元

解决FmxDesignWindows单元缺失的步骤

  1. 补充库路径配置
    除了已添加的$(BDS)\source\Property Editors\,还需要将以下路径添加到包的**库路径(Library Path)**中:

    • $(BDS)\lib\$(Platform)\$(Config):存放所有Delphi预编译的设计时单元(包括FmxDesignWindows.dcu)
    • $(BDS)\lib\$(Platform)\release:部分Delphi版本会将设计时核心dcu放在此目录(作为备用路径)
      注意:$(BDS)是Delphi安装目录的环境变量,$(Platform)对应目标平台(如Win32、Win64),$(Config)建议设置为Release(设计时包需用Release模式编译)
  2. 确认编译模式
    设计时包必须编译为Release模式,因为Delphi的IDE设计时环境仅加载Release版本的预编译单元,Debug模式下会无法找到部分依赖dcu

  3. 版本兼容性检查
    不同Delphi版本(如10.4 Sydney、11 Alexandria、12 Athens)的FMX设计时API依赖路径可能略有差异,确保你的代码适配当前使用的Delphi版本

替代方案

如果上述配置仍无法解决问题,可以尝试以下替代方案:

  • 使用公开的FMX设计时基础单元FMX.Design,它包含控件注册、属性编辑器等基础设计时功能,无需依赖未公开的子单元
  • 对于自定义FMX控件的设计时支持,直接使用RegisterFMXComponents等公开注册函数,避免直接调用FMX.Design.Items中的未公开接口

内容的提问来源于stack exchange,提问作者zeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 15:05:55