为了使Delphi组件/控件可用于所有(当前)可用平台,我必须编写
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidOSX32 or pidiOSSimulator or pidiOSDevice or pidAndroid)]
Run Code Online (Sandbox Code Playgroud)
在组件/控件声明之前。
有没有一种简短的方式编写该组件支持所有当前和将来的平台的信息?
没有更简单的方法,但您可以将它们定义为一个常量:
const
AllCurrentPlatforms =
pidWin32 or pidWin64 or pidOSX32 or
pidiOSSimulator or pidiOSDevice or pidAndroid;
Run Code Online (Sandbox Code Playgroud)
并在每次创建新组件时使用它。但是,假设您不生产那么多组件,那么完整地写出它有什么问题,只需要几次?
我还假设如果您简单地省略该属性,则该组件将被视为支持所有平台。你可以测试一下。
AllPlatforms在 ToolsAPI/PlatformAPI 中实际上有一个类似的常量,但该单元不供一般运行时使用。
使组件/控件可用于所有平台的更简单、绝对 hacky 的方法:
[ComponentPlatforms(0)]
Run Code Online (Sandbox Code Playgroud)
或者以另一种方式
[ComponentPlatforms($FFFF)]
Run Code Online (Sandbox Code Playgroud)