gpt4 book ai didi

delphi - 如何让 VCL 和 FMX 组件具有相同的名称?

转载 作者:行者123 更新时间:2023-12-04 14:36:41 24 4
gpt4 key购买 nike

Delphi 设法拥有 TLabel存在于 FMX VCL .那么,我如何创建两个具有相同名称的组件,除了一个用于 VCL 一个是给 FMX ?
是的,我知道我可以使用 ifdef s 并每次都重新编译库。但这并不是完全干净的代码。

最佳答案

在不同的 Unit Scopes 中实现您的两个组件,正是为此目的而创建的。
例如,执行 TMyComponent用于 VCL Vcl.MyUnit.pas ,并实现 TMyComponent用于 FMX FMX.MyUnit.pas .
然后,使用 TMyComponent在任何其他单元中,您可以:

  • 使用 {$IFDEF} s 有条件地指定 Vcl.MyUnitFMX.MyUnituses条款。
  • 为 VCL 和 FMX 创建单独的项目,其中 VCL 项目指定 Vcl在其 Unit Scope Names compiler setting ,并且 FMX 项目指定 FMX , 然后你可以只使用 MyUnituses条款。

  • 另见 Adding Unit Scope Names for Your Own Components .
    供引用,VCL 的 TLabelVcl.StdCtrls单位范围和 FMX 的 TLabelFMX.StdCtrls单位范围。

    关于delphi - 如何让 VCL 和 FMX 组件具有相同的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69155935/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com