Uses
Qual a diferença do primeiro uses para o segundo(colocado de de implementation)
esse
e este
é somente para melhor organização?
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
Curtidas 0
Respostas
Michael
24/10/2005
Olá!
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
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
Sistemald
24/10/2005
Como eu havia pensado.
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.
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
Michael
24/10/2005
Não, há diferença sim!
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
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