有没有办法找到我在德尔福数据模块中使用的框架类型



我在德尔福柏林有以下问题。
我有一个数据模块,它使用编译器指令保留多个平台函数。
例如
{$IFDEF ISVCLAPP} functions for VCL
{$IFDEF ISFMXAPP} for FMX
的函数
等等但是我无法摆脱FireDAC.VCLUI.Wait在Android(FMX)环境中的使用子句。
我放了FireDAC.FMXUI.Wait,但它似乎被编译器忽略了,并继续添加我做VCLUI单元的问候。

我相信代码中的东西一直在告诉德尔福环境这是一个VCL框架。有没有办法找到这样的东西?

不幸的是,没有可以检查的内置定义,但您可以自己创建。在 %APPDATA%\Embarcadero\BDS\18.0 中创建(或以有意义的方式扩展)一个名为 UserTools.proj 的文件(对于 Delphi Berlin),其中包含以下内容:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
       <DCC_Define>FrameWork_$(FrameworkType);$(DCC_Define)</DCC_Define>
    </PropertyGroup>
</Project>

这允许检查源文件中的当前框架,如下所示:

{$IFDEF FrameWork_VCL}

{$IFDEF FrameWork_FMX}

请注意,在某些情况下,这两者可能根本无法定义。

请注意,上面提到的文件位于您的用户 appdata 文件夹中,因此其他用户需要自己的副本才能使用它。

最新更新