2012-03-13 14 views
8

Si realizo cambios importantes en una unidad, me gusta cambiar su nombre para dejar en claro que esta es una versión diferente y evitar confusiones con otras versiones archivadas, por ejemplo: CSVUtils. PAS se convierte en CsvUtilsNew.PASHerramienta para cambiar el nombre de una unidad y todas las referencias

Pero todos referencias a ella desde otras unidades tienen que ser cambiado manualmente, por ejemplo:

Unit ManiForm 

Uses 
    CSVUtils 

convierte

Unit ManiForm 

Uses 
    CsvUtilsNew 

Esto se vuelve muy laborioso en proyectos complejos.

Icarus es muy bueno para encontrar todas las referencias, pero no puedo encontrar ninguna herramienta que actualice automáticamente todas las otras unidades.

¿Alguien sabe de alguna herramienta que actualice automáticamente las referencias de la unidad?

Muchas gracias

Respuesta

3

También podría definir un alias de unidad en sus opciones de proyecto. P. ej. CSVUtils=CsvUtilsNew

+0

+1 Por creatividad, suponiendo que realmente funcione. – NGLN

+0

Ciertamente funciona. Usé esta característica para ayudar a migrar de D6 a D2010. Las unidades en cuestión eran las unidades de administrador de temas de XP de Mike Lischke que fueron absorbidas por Delphi en D7 y eso llevó a cambios de nombre. También las unidades de imagen png y gif que tenían diferentes nombres. Solo necesitaba los alias mientras quería que el código compilara con ambos compiladores. Y los alias de la unidad funcionaron magníficamente. Sin embargo, no los consideraría una solución a largo plazo. –

+0

Los alias de unidades pueden ser la solución adecuada para proveedores de componentes que necesitan una sola fuente para compilar en todas las versiones de Delphi, pero a nivel de aplicación (no del proveedor de nivel de componente) deja de tener sentido rápidamente. –

7

yo usaría Notepad ++ o UltraEdit a Búsqueda & reemplazar en todos los archivos (* .pas, .dpr *, * .dproj) el nombre de la unidad antigua con el nuevo nombre de la unidad. A menos que tenga variables o funciones que tengan el mismo nombre que la unidad, esto funciona muy bien, es rápido y no requiere ningún analizador especializado.

11

Yo usaría GExperts Grep Buscar y reemplazar.

+0

Cualquier grep funcionará para esto. He usado esto (http://www.wingrep.com/) bare bones por años. – RobertFrank

+0

Probablemente, pero el grep de GExperts está integrado en el IDE y algo adaptado al desarrollo de Delphi. –

+0

@Ulrich, estoy de acuerdo. Con GExperts grep puede, por ejemplo, limitar su alcance a proyectos, grupos de proyectos, directorios, etc. – iamjoosy

Cuestiones relacionadas