Fórum Uses #300492

24/10/2005

0

Qual a diferença do primeiro uses para o segundo(colocado de de implementation)

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

Sistemald

Responder

Posts

24/10/2005

Michael

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


Responder

Gostei + 0

24/10/2005

Sistemald

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.


Responder

Gostei + 0

24/10/2005

Michael

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar