有没有更简单的方式说所有平台都支持Delphi组件/控件?

时间:2014-12-15 15:04:16

标签: delphi

为了使Delphi组件/控件可用于所有(当前)可用的平台,我必须编写

  [ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidOSX32 or pidiOSSimulator or pidiOSDevice or pidAndroid)]

在组件/控制声明之前。

是否有更短的编写方式,该组件支持所有当前和未来的平台

2 个答案:

答案 0 :(得分:4)

没有更简单的方法,但您可以将它们定义为一个常量:

const
  AllCurrentPlatforms = 
    pidWin32 or pidWin64 or pidOSX32 or 
    pidiOSSimulator or pidiOSDevice or pidAndroid;

并在每次创建新组件时使用它。但是,假设你没有生产那么多组件,那么完全写出来有什么问题,需要几次呢?

我还假设如果您只是省略该属性,该组件将被视为支持所有平台。你可以测试一下。


在ToolsAPI / PlatformAPI中实际上存在类似的常量AllPlatforms,但该单元不适用于一般运行时使用。

答案 1 :(得分:2)

更简单,绝对hacky,使组件/控件可用于所有平台:

  [ComponentPlatformsAttribute(0)]

或以其他方式

  [ComponentPlatformsAttribute($FFFF)]