PDA

Ver la Versión Completa : Error en .dcu(s) al Compilar


Deiv
01-10-2006, 00:07:59
Hola,
Resulta que al Instalar un Componente, File-Open (desde Delphi7) instala bien el Package y se crea la pestaña del nuevo componente, pero las veces que creo una nueva aplicación (o un nuevo proyecto) EN UN NUEVO DIRECTORIO y requiero utilizar este nuevo compo, me muestra:

[Fatal Error] LoadRTF.pas(7): File not found: xxxxx.dcu

Hasta el momento lo había solucionado copiando desde donde obtuve la copia del Componente, TODOS los archivos .dcu (y otros que me pidiese al compilar) al Directorio donde estoy creando mi nueva aplicación o nuevo proyecto.

1.- ¿DE QUE FORMA EVITO hacer estas COPIAS cada vez que creo una nueva aplicación? Me parece que estos archivos .dcu deben estar en la carpeta LIB de Delphi, si fuera así ¿no tiende a engordar la carpeta LIB en el caso de instalar varios componentes?

2.- Y, ¿Que pasa cuando quiera DESINSTALAR el componente desde Delphi con Component-Install Packages-Remove? No creo que vaya a borrar (si en el caso fuera la solución de copiar todo en el LIB, para mi pregunta Nº1) estos archivos copiados verdad?

3.- ¿Existe otra forma más segura de instalar un componente, en la cual al compilar un nuevo proyecto no vaya a pedirme luego .dcu(s) y que al desinstalar los borre igual donde se instalaron?

Bicho
01-10-2006, 00:35:17
HOla Deiv, lo que tienes que hacer para evitar ese error, es decir al compilador donde estan esos ficheros para que los pueda compilar para usar esos componentes. No es necesario que los muevas a otras carpetas. Puedes hacer lo siguiente (lo digo de memoria, no tengo Delphi delante para probarlo)
Tools->Enviroment Options->Library->Library Path y allí add la ruta de la carpeta donde está el componente.

Respecto a tus pregutas.

1.- Que más da si tiende a engordar esa carpeta. No te ofendas, pero no veo el problema.

2.- No te lo se decir con certeza, pero creo que no los borra esos ficheros.

3.- Creo que con una mezcla de lo que te he explicado y las dos respuestas anteriores te puedes hacer una idea.

Pruébalo a ver que tal.

Saludos

Neftali [Germán.Estévez]
02-10-2006, 10:12:38
1.- ¿DE QUE FORMA EVITO hacer estas COPIAS cada vez que creo una nueva aplicación? Me parece que estos archivos .dcu deben estar en la carpeta LIB de Delphi, si fuera así ¿no tiende a engordar la carpeta LIB en el caso de instalar varios componentes?

2.- Y, ¿Que pasa cuando quiera DESINSTALAR el componente desde Delphi con Component-Install Packages-Remove? No creo que vaya a borrar (si en el caso fuera la solución de copiar todo en el LIB, para mi pregunta Nº1) estos archivos copiados verdad?

3.- ¿Existe otra forma más segura de instalar un componente, en la cual al compilar un nuevo proyecto no vaya a pedirme luego .dcu(s) y que al desinstalar los borre igual donde se instalaron?

1.- No tienen porque estar en esa carpeta; Yo suele poner el componente en su carpeta y dentro de la del componente una carpeta DCUs con los ficheros; Lo único que debes hacer es añadir ese path (....\componente\DCUS) a la opción de búsqueda (o en el proyecto o en el IDE); de forma qu al compilar encuentre esos ficheros.

2.- Si lo tienes como he dicho en el punto (1); Puedes hacer lo que quiereas con el. De todas formas desinslalar el componente no borra nada.

3.- En borrado lo vas a tener que hacer tú; Lo que pasa es que si tienes las cosas ordenadas te será más fácil.

Bicho
02-10-2006, 10:29:40
1.- No tienen porque estar en esa carpeta; Yo suele poner el componente en su carpeta y dentro de la del componente una carpeta DCUs con los ficheros; Lo único que debes hacer es añadir ese path (....\componente\DCUS) a la opción de búsqueda (o en el proyecto o en el IDE); de forma qu al compilar encuentre esos ficheros.

2.- Si lo tienes como he dicho en el punto (1); Puedes hacer lo que quiereas con el. De todas formas desinslalar el componente no borra nada.

3.- En borrado lo vas a tener que hacer tú; Lo que pasa es que si tienes las cosas ordenadas te será más fácil.

Y que diferencia hay con lo que yo he puesto?? :confused:

Saludos

Neftali [Germán.Estévez]
02-10-2006, 12:11:08
Pues básicamente ninguna...:D:D:D
Leía mal la primera parte y no seguí leyendo; Posteé la respuesta y luego me he dado cuenta de que efectivamente estábamos hablando de lo mismo...

Deiv
03-10-2006, 19:10:02
Entendí? Quiere decir tantos componentes tenga instalados, tantos Paths diferentes debo indicarle a Library como ruta para que ubique las .dcu, verdad?

Neftali [Germán.Estévez]
04-10-2006, 10:28:04
Si lo añades en el IDE sí, si los añades en las opciones de cada proyecto, sólo los que necesites en ese proyecto.

Yo lo que hago es añadir en las opciones del IDE los que tengo fijos (los uso muy a menudo), como las RxLib, GLib, siLang,... Y en las opciones del proyecto los que uso en ese proyecto y no utilizo habitualmente.