DWScript使用语句

3

我在使用DWScript时遇到了问题,尝试“使用”其他单元,例如:

uses utils, qusers;
语法错误:未知单元“utils”[行:3,列:20]

非常感谢任何帮助。

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

附加信息2:使用“uses”的目的是当“$INCLUDE”或“$I”出现问题时:
unit1.dws包括unit2.dws
unit3.dws包括unit3.dws和unit1.dws

1个回答

2
在当前的SVN版本及以上,您可以使用$INCLUDE_ONCE,它仅在文件未被包含时(区分大小写)才会被包含。
对于旧版本,您可以使用条件编译,就像在C头文件中一样:
{$IFNDEF SOME_FILE}
{$DEFINE SOME_FILE}

... the file ...

{$ENDIF}
编辑: 截至2011年8月,单元被支持,必须从主脚本或另一个单元中使用。 有关示例代码,请参见tests\BuildScripts。

@Eric:我在使用“uses”并指定一个简单文件时遇到了困难。最新的DWS支持这个吗?我发现我可以成功地包含一个文件,但不是作为传统的单元格式。 - Brian Frost
1
单位支持需要最新的svn版本,请参见test\BuildScripts中的示例代码。您可以从主脚本或单元中“使用”一个单元。一个单元像在Delphi中一样由顶部的“unit unitname;”组成,后跟接口、实现,并以可选的“end.”结束,没有初始化/终止。请注意,您不能编译独立的单元,必须从主脚本中编译它。 - Eric Grange
@Eric:非常好,谢谢。我之前不理解如何将单元源暴露给编译器。当我发现了事件“OnNeedUnit”并填写它时,一切都正常工作了。非常感谢。 - Brian Frost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接