【问题标题】:Why when we add an android service to an app, delphi automatically include in the dpr of the app the unit of the datamodule of the service?为什么我们在app中添加android服务时,delphi会自动在app的dpr中包含该服务的datamodule单元?
【发布时间】:2017-07-11 16:53:20
【问题描述】:

当我创建一个新服务时,这个服务将有一个主数据模块(DM),当我将此服务添加到一个已经存在的应用程序时,delphi 会自动添加到这个应用程序的 dpr(在使用子句中)数据模块的单位:

uses ...
     ...
     myService_mainunit;

为什么?在IOS下编译后也是make ...

【问题讨论】:

    标签: delphi firemonkey


    【解决方案1】:

    IDE 完全不知道您的意图是什么。它不知道您只想将其用于 Android,无论它是否是 Android 特定代码。您必须编写代码来告诉它,例如使用条件。

    当您创建新的 Android 服务时,IDE 会为您设置一个预制模板。这个模板恰好使用一个数据模块来完成它的工作。但是当您将数据模块添加到项目时,IDE 根本不知道您为什么要添加它。它只是在做它的工作,它为您添加到项目中的 any每个 单元执行此操作,无论该单元的目的是什么。事实上,不存在向您的项目添加一个单元并且在 DPR 用途中这样的事情。

    “在IOS下编译后也是make”

    同样,通过将平台条件包裹在其周围很容易解决。当然,IDE 会“控制” DPR 文件,因此可能不会那样轻松,因为 IDE 可能会使您的代码变形。但是很有可能在您的项目中包含此数据模块,而是将其放置在您的项目可以找到它的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 2019-10-30
      • 2016-11-03
      • 2011-11-25
      相关资源
      最近更新 更多