小编Aik*_*ave的帖子

向Interface使用子句而不是Implementation uses子句添加单元

当使用Delphi时:如果我有一个充满常量的单元,比如...

unit AConsts;
interface
const
   Const1 : WideString = 'Const1';
   Const2 : WideString = 'Const2';
   Const3 : WideString = 'Const3';
   Const4 = 100;
   Const5 = 100;
implementation
end.
Run Code Online (Sandbox Code Playgroud)

我想从另一个单位使用这个单位,两者之间是否有任何区别......

unit AUnit;
interface
uses 
  AConsts;
Implementation
end.
Run Code Online (Sandbox Code Playgroud)

unit AUnit;
interface
implementation
uses
  AConsts;
end.
Run Code Online (Sandbox Code Playgroud)

?或者换句话说,就编译的应用程序而言,两者之间是否存在差异?

[编辑1]

谢谢你到目前为止的答案.

我没有把这个问题弄清楚,为此我道歉.问题不在于范围,避免循环引用等.它是关于编译应用程序的差异.也许另一个例子会有帮助.

如果UnitA,UnitB和UnitC都使用AConsts,那么在App1之间编译应用程序(假设AConsts单元和其他代码中的常量之间没有名称冲突)会有区别,其中这些UnitA,UnitB和UnitC都在接口中有AConsts section的uses子句和App2,其中UnitA,UnitB和UnitC都在Implementation部分的uses子句中都有AConsts.

delphi

6
推荐指数
1
解决办法
4881
查看次数

标签 统计

delphi ×1