Cita:
Empezado por roman
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.