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

添加DBGridEh后TDBGridOption类型不兼容错误如何修正代码

问题原因

你出现该编译错误是因为项目同时引入了Vcl.DBGrids(标准VCL数据表格单元)和DBGridEh(第三方表格组件单元),两个单元都定义了同名的TDBGridOption枚举类型以及dgEditing、dgAlwaysShowSelection等同名枚举值,编译器无法自动匹配到对应类型,因此报类型不兼容错误。

修复方案

有两种可落地的修复方式,优先推荐第一种:

  • 方案1:显式为枚举值指定所属单元,彻底避免命名冲突
    如果你当前操作的DBGrid1是标准VCL的TDBGrid控件,修改代码为:
    Form1.DBGrid1.Options:=Form1.DBGrid1.Options - [Vcl.DBGrids.dgEditing, Vcl.DBGrids.dgAlwaysShowSelection];
    
    如果你当前操作的DBGrid1是DBGridEh套件的控件,修改代码为:
    Form1.DBGrid1.Options:=Form1.DBGrid1.Options - [DBGridEh.dgEditing, DBGridEh.dgAlwaysShowSelection];
    
  • 方案2:调整单元引用顺序
    打开对应窗体的单元代码,找到uses引用列表,把你正在使用的表格控件对应的单元放在另一个同名类型单元的后面,编译器会默认优先取后引入单元的类型定义。比如用标准DBGrid就把Vcl.DBGrids放在DBGridEh后面,用DBGridEh控件就反过来调整顺序。该方案不推荐长期使用,后续调整单元引用顺序时容易再次触发同类型问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:10