【发布时间】:2015-12-11 11:31:35
【问题描述】:
我有一个需要计时器的课程。该类必须同时使用 VCL 和 FMX。不幸的是,FMX 定时器在FMX.Types 中声明,VCL 定时器在Vcl.ExtCtrls 中声明。
由于没有像{$IFDEF FMX}xxx{$ENDIF} 这样的条件定义,我如何在跨平台类中使用计时器?
【问题讨论】:
-
@DavidHeffernan - 这是可能的,但我希望能够在任何项目中创建类,而不必担心设置条件定义。
-
@DavidHeffernan - 这在一定程度上会起作用,但如果我测试 Windows,我仍然不知道它是 FMX Windows 还是 VCL Windows。如果我假设它是 VCL 但它是 FMX 应用程序,我将包含 VCL 代码,反之亦然。这是我想要避免的。
-
啊,我明白了。我当然可以自己写,但我希望有一种更简单的方法可以利用现有代码。
-
@norgepaul 我看不到区分 VCL Windows 或 FMX Windows 的简洁方法,所以我创建了自己的条件定义。然后我在较低级别对其进行测试,以决定是调用 FMX 还是 VCL 例程。事实上,我有一个应用程序是 VCL 应用程序但使用 FMX 表单,因此您可以将两者混合使用,因此没有内置定义的原因。
标签: delphi timer firemonkey vcl delphi-10-seattle