TMS Web Core中为何存在clColor与gcColor?
TMS Web Core中cl与gc前缀颜色的差异与存在原因
在TMS Web Core里出现两类同名前缀的颜色,核心是兼容传统Delphi生态和适配Web渲染环境的双重需求:
两类颜色的起源
- cl前缀颜色:是从Delphi传统VCL/FMX框架继承的颜色常量(比如
clRed、clBlue),原本对应Windows系统颜色或固定RGB值。TMS Web Core保留它是为了让从VCL/FMX迁移过来的项目无需大规模修改颜色相关代码,直接复用原有逻辑。 - gc前缀颜色:是TMS Web Core专为Web环境打造的原生颜色常量(比如
gcRed、gcBlue),直接映射到CSS标准颜色规范,从底层适配浏览器的渲染机制。
核心差异
- 底层实现:
cl系列颜色在Web Core中会被转换为对应的CSS颜色值;gc系列则直接绑定CSS原生颜色,完全遵循Web渲染标准。 - 适配性:
gc系列更贴合Web生态,后续若CSS颜色标准更新,这类常量会同步跟进;cl系列则保持与传统Delphi一致,不会随Web标准变动。 - 扩展空间:
gc系列未来可能新增Web特有的颜色类型(比如CSS新引入的颜色关键字),而cl系列基本局限于传统Delphi支持的固定颜色集合。
虽然视觉上两者表现一致,但底层逻辑的不同决定了在Web项目中,优先使用gc系列颜色会更适配Web环境,而cl系列主要用于代码迁移场景。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

