【问题标题】:DWScript uses clauseDWScript 使用子句
【发布时间】:2011-05-10 13:41:28
【问题描述】:

我在 DWScript 中尝试“使用”其他单位示例时遇到了困难:

使用实用程序、qusers;
语法错误:未知单位“utils”[行:3,列:20]

任何帮助将不胜感激。

附加信息:我还将文件的位置添加到 Script.Config.ScriptPaths,例如:“C:\myscripts”

附加信息2:“使用”用法的目的是“$INCLUDE”或“$I”在以下情况下出现问题:
unit1.dws 包括 unit2.dws
unit3.dws 包括 unit3.dws 和 unit1.dws

【问题讨论】:

    标签: delphi dwscript


    【解决方案1】:

    在当前的 SVN 版本及更高版本上,您可以使用 $INCLUDE_ONCE,它只会包含尚未包含的文件(区分大小写)。

    对于旧版本,您可以使用条件编译,例如在 C 头文件中:

    {$IFNDEF SOME_FILE}
    {$DEFINE SOME_FILE}
    
    ... the file ...
    
    {$ENDIF}
    

    编辑:自 2011 年 8 月起,支持单位,它们必须从主脚本或其他单位使用。有关示例代码,请参阅测试\BuildScripts。

    【讨论】:

    • @Eric:我在使用“使用”和指定一个简单文件时遇到了困难。最新的 DWS 是否支持此功能?我发现我可以包含一个文件,但不能作为传统的单位格式。
    • 单元支持需要最新的 svn,示例代码见 test\BuildScripts。您可以“使用”来自主脚本或单元的单元。一个单元由一个“单元单元名”组成,就像在 Delphi 中一样;在顶部,后面是一个接口、实现,并由一个可选的“end.”终止,没有初始化/终结。注意你不能编译一个独立的单元,你必须从一个主脚本编译它。
    • @Eric:完美,谢谢。我缺少的是了解如何将单元源代码暴露给编译器。当我发现事件“OnNeedUnit”并填写时,一切正常。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多