Ver Mensaje Individual
  #11  
Antiguo 25-11-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
Aunque coincido en que es buena práctica quitar esas unidades, también cabe mencionar que delphi no incluye en el ejecutable código que no se usa, de manera que, en realidad, no ocupan memoria en tu programa.
Secundando a Román, cabe mencionar que sólo ocuparán espacio en el ejecutable (y claro está, memoria de proceso) si dichas unidades tienen código de inicialización, es decir, sección Initialization, la cual puede ir acompañada o no de una sección Finalization que también ocupará espacio.

Son estas secciones la mayor razón para eliminar de las cláusulas Uses las unidades que no deseamos utilizar.

Por ejemplo, si incluimos la unidad nativa Controls en el Uses de nuestro programa, el siguiente código y las referencias que él hace serán incluidos en el ejecutable, aunque nosotros no hagamos ninguna referencia explícita a elementos de dicha unidad:

Código Delphi [-]
initialization
  NewStyleControls := Lo(GetVersion) >= 4;
  InitControls;
  StartClassGroup(TControl);
  ActivateClassGroup(TControl);
  GroupDescendentsWith(TCustomImageList, TControl);
  GroupDescendentsWith(TContainedAction, TControl);
  GroupDescendentsWith(TCustomActionList, TControl);

finalization
  FreeAndNil(DockSiteList);
  DoneControls;
De la unidad Controls.pas de Delphi 7.

También puede pasar que hagamos referencia a una unidad que no tenga esas secciones especiales, pero que ésta, a través de sus propios Uses, haga referencia directa o indirecta a unidades que sí tengan inicialización y finalización.

Saludos incluidos.

Al González.
Responder Con Cita