Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2010
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
MISION IMPOSIBLE: Los componentes

Hola jovenes,

Sigo luchando contra los componentes y siguen siendo inexpugnables para mi.

Antes trabajaba con D7 y ahora trabajo con D2010, ¡creo que aún es peor!

La cuestión es que he creado un componente descendiente de TImage y que utiliza otras tantas clases que tambien he creado.

El Componente se instala correctamente en la paleta, pero cuando lo quiero utilizar en un proyecto, me dice que no encuentra las unidades.dcu y me obliga a adicionar todas las unidades.pas al proyecto, después de esto corre perfectamente.

Esto no sucede con los componentes de Delphi u otros fabricantes.

Os explico lo que hago:

Tengo una unidad.pas "_TMayComponent", en ella existe la clase TMyImage que desciende de TImage.

Esta clase utiliza otra/s clase/s, cada una de estas otras clases está definida en otra unidad y también utiliza otra/s clase/s:

TMyClass_1, que desciende de TPersistent, en la unidad "_TMyClass_1.pas"

TMyClass_2, que desciende de TPersistent, en la unidad "_TMyClass_2.pas"

TMyClass_3, que desciende de TPersistent, en la unidad "_TMyClass_3.pas"

... ...

TODAS ESTAS UNIDADES SE ENCUENTRAN EN EL DIRECTORIO ...\MyComponentes\Units

Todos las unidades están incluidas en un paquete "MyComponents.dpk" que lo guardo en carpeta ...\MyComponentes.

Es decir, el directorio en el que se haya el paquete tiene otro directorio con ltodas las unidades que lo componen.

La intención es que en el paquete haya más de un componente y guardar las unidades de cada componente en carpetas separadas, pero el primer componente ya no me funciona bien.

¿Qué esoy haciendo mal?
Responder Con Cita
  #2  
Antiguo 29-09-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Bueno creo que te has olvidado de agregar los "library Path" ya sea de los .DCU o .PAS para que delphi pueda compilar cuanquier proyecto que utiliza tu "nuevo componente", desde luedo se lo puede hacer para cada proyecto lo cual es engorroso, por eso es mejor hacerlo una sola ves agregandolo al IDE.
Para agregarlo y hacer que Delphi pueda compilar cualquier aplicacion que utilice nuestro componente lo que hace en Delphi 7 es ir al menú : Tools>Environment Options...> Ir a la Pestaña de Nombre "Library"> ya en ella presionar el primer botoncito de la Opcion "Library Path", nos saldrá otra ventanita encima llamada "Directories", en ella presionar el botoncito con 3 puntitos, lo cual abrirá una nueva ventana donde podemos buscar el directorio(carpeta) donde estan los archivos fuentes de nuestro componentes, ya sea los .pas o los .dcu;seleccionamos la carpeta y le damos aceptar, luego para agregarlo pulsamos el boton "Add" y finalmente el boton "Ok" de la ventana "Directories".De igual forma presionamos el Boton "Ok" de la primer ventana llamada "Environment Options". Y eso es todo.
Si se dá el caso de que los archivos fuentes(.pas,.dcu) estuvieran en diferentes directorios, pues abrá que agregarlo a cada uno, en ese caso..
Espero sirva de ayuda...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 29-09-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 915
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Como dice el chavo del 8....eso, eso, eso...

Saludos
Responder Con Cita
  #4  
Antiguo 30-09-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ElDuc Ver Mensaje
Hola jovenes
Gracias.


Cita:
Empezado por ElDuc Ver Mensaje
La cuestión es que he creado un componente descendiente de TImage y que utiliza otras tantas clases que tambien he creado.
El Componente se instala correctamente en la paleta, pero cuando lo quiero utilizar en un proyecto, me dice que no encuentra las unidades.dcu y me obliga a adicionar todas las unidades.pas al proyecto, después de esto corre perfectamente.
Normalmente es porque el programa no encuentra la información que le hace falta del componente. O los fuentes y las DCU's del componente (que deberías añadir al path), o si deseas trabajar con los compilados, deben estar accesibles los ficheros BPL y DCP que corresponden al package que has generado. Lo lógico es que el BPL esté dentro del Path, para no tener problemas y el DCP añadido a las opciones del proyecto.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 09-10-2010
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Muchas gracias a todos,

Ya lo he solucionado siguiendo vuestros consejos.

En cuanto a lo de la bpl, delphi la coloca en un directorio no deseado, para hacer lo que dices y colocarla en mi directorio, ¿puedo configurar algo para que se haga automáticamnte?

Estoy intentando hacer un componente a traves de una Interface y no me deja, ¿Sabéis si se puede hacer?

En este caso sería muy conveniente para mi, porque me permitiría que en el inspector de objetos sólo salieran las propiedades que yo deseo.

Saludos.
Responder Con Cita
  #6  
Antiguo 09-10-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Para responder a todas tus preguntas e inquietudes lo mejor que te puedo decir es mejor leas un manual y/o tutorial de creacion de componentes, sino me equivoco en nuestro FTP tenemos un PDF muy ilustrativo donde se enseña como crear componentes y toda la lógica que se debe seguir. Dicho manual se encuentra aquí, es el archivo de nombre "Manual_Crear_componentes_Delphi.zip", te recomiendo leerlo sin flojear..
Tambien aqúi hay otro manualcito que podes leer tambien.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 11-10-2010
ElDuc ElDuc is offline
Miembro
 
Registrado: jul 2004
Posts: 197
Poder: 20
ElDuc Va por buen camino
Muchas gracias,

Sigo luchando.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mision Cumplida eduarcol Humor 25 06-06-2008 08:32:28
Misión Imposible?? Interbase 7.0 a Firebird 1.5 Berto2003 Firebird e Interbase 9 15-03-2008 03:31:50
¿Mision imposible? Alvarobc Conexión con bases de datos 8 26-04-2007 05:40:34
Es imposible un lector de DVD???? gandalf_27 Varios 2 15-06-2006 16:07:40


La franja horaria es GMT +2. Ahora son las 04:24:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi