2012-04-13 10 views
6

Las diferentes versiones de Delphi (en mi caso 2007, XE y XE2) parecen usar el mismo repositorio de plantilla de código, como ..\Documents\RAD Studio\code_templates. Como XE2 usa unidades con espacios de nombres, esto causa problemas cuando uno tiene que usar un nombre de unidad en una plantilla.Plantillas de código: conflicto de nombre de unidad entre las versiones de Delphi

Por ejemplo tengo una plantilla cuando escribo winbeep que completa a windows.Beep(300, 100); y selecciona y se detiene en la frecuencia, etc .. Esto no se compila en XE2 menos que se quita la parte de la unidad Winapi.Windows en la cláusula usos (o de Por supuesto agregue el prefijo manualmente). Tengo que tener el nombre de la unidad porque de lo contrario SysUtils.Beep se refiere.

No pude encontrar una entrada de opción o una clave de registro o una variable de entorno que especifique el lugar de las plantillas. Ni siquiera está relacionado con BDSUSERDIR, de hecho, ni siquiera tengo un directorio en mi computadora con la ruta BDSUSERDIR (que es ..\Documents\RAD Studio\9.0). ¿Es este mi descuido y de hecho hay una opción para reubicar plantillas de código? Si no es así, ¿es posible hacer que el IDE utilice alias de unidad en la cláusula de usos para formularios nuevos?

de edición:
Here se afirma que (el subrayado por mí) "plantillas que se crean (y plantillas proporcionada por terceros add-ins) se guardan por defecto en la carpeta \ Mis documentos \ RAD Studio \ code templates \ directory ". Eso implicaría que debería haber forma de guardarlos en un lugar no predeterminado. Pero el artículo no menciona cómo.

Respuesta

6

Puede poner sus plantillas en "Delphi installation folder"\ObjRepos\en\Code_Templates para que sean visibles solo en una versión de Delphi.

+1

¡Genial! Copiar una versión modificada del archivo de plantilla en esta carpeta lo resuelve. Parece que Delphi está leyendo esta carpeta primero. ¡Gracias! –

2

Editar

Como señala Sertac en los comentarios, bibliotecas de plantillas están relacionados con plantillas, plantillas de código no proyectar. Dejando esta respuesta en su lugar, ya que puede ayudar a las personas que buscan formas de estructurar/compartir/dividir sus repositorios de plantillas de proyectos.


En Delphi XE2 tiene la opción "Bibliotecas de plantillas" en el menú "Herramientas". Al abrir eso, usted consigue este diálogo:

enter image description here

El "Añadir" botón le permite añadir una carpeta, las "Propiedades" botón le permite ver y administrar el contenido de ese repositorio.

Me parece que puede simplemente copiar la biblioteca de plantillas, cambiar las cosas específicas de XE2 y luego señalar XE2 a su propio repositorio. O puede hacerlo solo para las plantillas que requieren un manejo específico de la unidad XE2.

+0

Gracias Marjan, pero hasta donde puedo ver esto está relacionado con * "plantillas de proyecto" *, no "plantillas de código". Ver [docs] (http://docwiki.embarcadero.com/RADStudio/en/Template_Libraries_Overview). –

+0

@SertacAkyuz: Tiene toda la razón. No vio eso. –

Cuestiones relacionadas