2009-05-18 18 views
11

Cada vez que agrego un formulario nuevo a mi proyecto, se deja caer una gran porción de repetición en la cláusula uses.¿Cómo puedo reducir la repetición de "usos" para nuevas formas?

uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs; 

En serio, ¿quién utiliza la unidad de variantes en algo parecido a una base regular? Generalmente termino eliminando Windows, Mensajes, Variantes, Gráficos y Diálogos y nunca los extraño.

Eso tiene que estar saliendo de un archivo de plantilla en alguna parte, pero parece que no puedo encontrarlo. ¿Alguien sabe dónde puedo encontrar la plantilla y editarla? Estoy usando D2009, en caso de que haya cambiado recientemente.

Respuesta

13

El recurso correspondiente se encuentra en $ (BDS) \ bin \ delphivclide * .bpl y se llama "VCLIDECMD"; puede extraerlo, editarlo y actualizarlo con el editor de recursos de su elección (recomiendo el que se incluye en Pelles C).

Para los usuarios de C++ Builder, el archivo de plantilla es "CPPVCLIDECMD" en bcbvclide * .bpl.

Si está utilizando una versión localizada de RAD Studio, busque los archivos de recursos de idioma apropiados (* .DE, * .FR o * .JA).

5

No está guardando nada al eliminar Windows y Mensajes. Gráficos y Los cuadros de diálogo pueden volver a agregarse en función de los componentes que coloca en el formulario, y son bastante útiles como referencia de todos modos. Duda que esté ahorrando mucho al eliminarlos. Siéntase libre de eliminar variantes si no las está usando (lo que estoy de acuerdo es bastante común a menos que haga el desarrollo de COM o DB).

Supongo que todo depende de su objetivo en la limpieza de la cláusula de usos. Las variantes son realmente las únicas que pueden tener un impacto en su aplicación.

En cuanto a cambiar la plantilla predeterminada, creo que está en un paquete que dice que si estás descendiendo de un TForm, entonces los obtienes. Lo más probable es que necesite modificar un archivo .PAS y reconstruir los paquetes VCL. Mucho trabajo con muy poca ganancia.

+0

No creo que Mason Wheeler quiere reducir el tamaño del ejecutable, lo único que quiere un código más limpio generado automáticamente. –

+1

Fox: Sí, exactamente. Jim: Si el método de Moritz funciona, en realidad no es tanto trabajo, y solo tendrá que hacerse una vez. –

5

Normalmente utilizo "Usos limpiador" que viene con cnPack después de terminar el proyecto, le dará una lista de todas las unidades no utilizadas en su proyecto, porque generalmente al terminar el proyecto puede tener unidades no utilizadas mayores de las que mencionó.

+1

El es un riesgo con este método. Tal herramienta nunca puede analizar si las secciones de inicialización o finalización de una unidad usada deben ser ejecutadas o no.La eliminación de unidades de los usos podría ocasionar que no se ejecuten las secciones de inicialización y finalización y, por lo tanto, se produzcan errores. –

+2

Un punto interesante, pero IMO si confía en la inicialización de una unidad que en realidad nunca se usa en ninguna parte, su código necesita una refactorización. –

+0

@Mason: no necesariamente si se trata de una unidad utilizada para instalar automáticamente alguna utilidad como FastMM4 o un parche como la unidad VclFixPack de Andreas. Utilizamos ese truco para reemplazar dinámicamente las llamadas a InitializeCriticalSection por InitializeCriticalSectionEx cuando se ejecuta en Vista/Windows2008. De acuerdo, es más probable que suceda en el dpr que en una unidad de formulario. –

0

En realidad, eso también me molestaba.

Pero luego verifiqué el tamaño del ejecutable compilado con las unidades predeterminadas y luego lo revisé sin ellas (Mensajes, Variantes, Grahpics) y el tamaño no fue mucho menor.

Dialogs.pas agrega algunos kilobytes, pero con frecuencia uso Delphi VCL cuadros de diálogo sobre Win API unos.

Por lo tanto, yo no digo molesta demasiado con ellos

Cuestiones relacionadas