Fórum Uses #300492
24/10/2005
0
esse
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
e este
implementation uses unitmodule, UnitPrincipal;
é somente para melhor organização?
Sistemald
Curtir tópico
+ 0Posts
24/10/2005
Michael
Isso é uma boa prática de programação, e se não me engano, é sugerido pela Borland na Normas de Codificação do Delphi (Delphi Coding Guidelines).
Veja o porquê: se entre a seção [b:3f16cc8e10]interface [/b:3f16cc8e10]e a [b:3f16cc8e10]implementation [/b:3f16cc8e10]vc não vai usar nada de uma determinada unit, só em alguma rotina declarada abaixo (seção implementation), pq vc declararia a unit em cima? ;-)
E isso não vale apenas para a cláusula [b:3f16cc8e10]uses[/b:3f16cc8e10]: [b:3f16cc8e10]const[/b:3f16cc8e10], [b:3f16cc8e10]type[/b:3f16cc8e10], [b:3f16cc8e10]resourcestring [/b:3f16cc8e10]tbm.
[]´s
Gostei + 0
24/10/2005
Sistemald
concluindo, então não haverá diferença na compilação(performance, tamanho do executavel, etc...) se uma unit for declarada em cima ou em baixo.
Gostei + 0
24/10/2005
Michael
O tempo de compilação tende a ser maior caso existam units desnecessárias na primeira cláusula uses, pois o compilador as avalia da esquerda para a direita. Então, vc vc declarar uma unit na primeira cláusula uses que só será utilizada depois da segunda, o compilador irá procurar nela referências a tipos de dados declarados entre as duas, o que é obviamente desnecessário.
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)