A adição de uma unidade à Interface usa a cláusula em vez da Implementação usa a cláusula
Ao usar o Delphi: se eu tiver uma unidade cheia de constantes como ...
Unit AConsts;
Interface
Const
Const1 : WideString = 'Const1';
Const2 : WideString = 'Const2';
Const3 : WideString = 'Const3';
Const4 = 100;
Const5 = 100;
Implementation
end.
e eu quero usar esta unidade de outra unidade, existe alguma diferença entre ...
Unit AUnit;
Interface
Uses
AConsts;
Implementation
end.
Unit AUnit;
Interface
Implementation
Uses
AConsts;
end.
? Ou, em outras palavras, existe uma diferença entre os dois no que diz respeito a um aplicativo compilado?
[Editar 1]
Obrigado pelas respostas até agora
Eu não fiz essa pergunta suficientemente clara e peço desculpas por isso. A questão não é sobre escopo, evitando referências circulares, etc. Trata-se de diferenças no aplicativo compilado. Talvez outro exemplo ajude.
Se UnitA, UnitB e UnitC usarem AConsts, haveria uma diferença no aplicativo compilado (supondo que não haja conflito de nome entre as constantes nas unidades AConsts e outro código) entre o App1, onde essas unidades A, UnitB e UnitC terão AConsts no Cláusula de uso da seção Interface e App2, onde UnitA, UnitB e UnitC têm AConsts na cláusula de uso da seção Implementaçã