Componente no aparece en la paleta
Hola a todos, estoy diseñando un nuevo componente que tiene como finalidad recopilar funciones de uso general, lo pongo a heredar de TObject y no aparece en la paletas de componentes, ni siquiera si le cambio la clase a TComponent
De que clase se debe heredar para que aparezca??? |
Hola...
Si lo que necesitas es una recopilación de funciones de uso general, lo mejor es una unidad y no un componente... Esta unidad la puedes meter en un paquete y usarla en tus aplicaciones sin necesidad de agregarla implícitamente en tus proyectos... Saludos... |
Acuerdate del procedure Register ;)
Jure. |
Cita:
|
Solo por preguntar, que diferencia puede haber, yo lo decia por la practicidad, de colocar el objeto y utilizar sus metodos para lo que se necesite, digo es mas facil de buscar el nombre del procedimiento...
Ahorita yo creo el objeto de forma manual Código:
MiObjeto: TMiObjeto; |
ya eso lo hice Jure:
|
Cita:
Con una unidad solo haces:
Y ya tienes a tu disposición todos los procedimientos y funciones de esa unidad, y no tienes que preocuparte por crear y destruir objetos... Saludos... |
si pero hay algo, a mi me gusta mucho la facilidad que da escribir el nombre del objeto y luego del punto aparezcan los procedimientos que aplican, es mejor que estarse acordando del nombre de todos...
|
Puedes hacer lo mismo con las unidades...
Si pones el nombre de la unidad y punto, el IDE te mostrará todos los procedimientos y funciones que contiene esta... Saludos... |
jejjeeje 7 años con delphi y a estas altura me voy dando cuenta de ello :D:D
|
Ok ya lo converti en una unidad, pero quedo con la duda, de que objeto debe heredar???
|
Hola...
Los objetos no se heredan, solo las clases... :p Y no tienes que heredar de nada... solo haces:
Saludos... |
jejeje buena acotacion
Pues eso fue lo que hice y ya lo tengo listo tan pronto lo suba aviso, mi duda es que de que CLASE tengo que heredar para que aparezca en la barra de componentes |
Una unidad no aparece en la barra de componentes...
Solo la agregas a la clausula uses de la unidad donde la quieras usar y listo... Saludos... |
Creo que sigo sin poder explicarme, a ver si hago esta pregunta asi:
¿Como creo un componente no visual que aparezca en la paleta de componentes? |
Hola...
Creas un componente que herede de TComponent... Saludos... |
Gracias por dedicarme el mensaje numero 1000 pero igual ya lo hice asi y sigue sin aparecer, voy a crearlo desde cero a ver que sucede, solo por no quedarme con la duda
|
Ya me estaba resultando extraño lo que venía leyendo... y luego vi la trampa.
Maeyanes... ya no puedes huir... ¡te pillaron!:D:) Saludos, |
Hola...
Cita:
Con solo crear tu clase heredada de TComponent y registrándolo en Delphi vía el procedimiento Register este debería aparecer en la barra de componentes... Cita:
|
Pues que de cosas desde new component si lo instala, pero a lo que le agrego mi codigo no hace nada, bueno voy a montar las dos versiones solo con la unit y con el componente desde la paleta que cada quien elija cual quiere usar
Por cierto Delphius la duda si es real :D:D:D |
Cita:
Hay una parte en el escrito que me confunde: pero a lo que le agrego mi codigo no hace nada. Eso me llama la atención, si el componente ya viene con algún código de procedimiento general... ¿que y/o como es que le agregas más código? ¿O es que el código (procedimientos y funciones) no se ejecuta? Me queda la duda. Saludos, |
Y si mejor nos pones parte del código para ver donde podría estar tu problema?
|
Ok lo voy a hacer, lo que pasa es qe ya desarme el objeto y lo deje como una unidad, y si lo hago como digo si funciona, o sea creo el TComponent y a este .pas que se crea le añado los procedimientos y funciones si se instala, pero si el objeto que tenia antes que se crea desde TObject le modifico la clase antecesora a TComponent y le agrego el register igual no se instala.
Como decia no tengo las fuentes originales ya que lo modifique, dejenme revisar si tengo alguna copia en el respaldo. Cuando lo consiga lo aviso, por lo pronto pueden conseguir el actual en: http://eduarcol.clubdelphi.com/Componentes/BDEUtil.pas Por los momentos estoy tratando de hacer una breve explicacion de cada procedimiento por eso no lo he subido publicamente pero para el que quiera verlo alli esta Espero haberme explicado :S |
Disculpa que vuelva tras 15 horas. Bueno.. le hecho bien el ojo al código de esa unidad y veo cual puede ser el problema.
Saludos, |
Hola eduarcol,
He visto tu unidad y me gusta... es evidente que mis conocimientos no llegan a tanto como lo que hiciste, aunque entiendo la mayoria de las cosas hay unas cosillas menores que me resultan chinas para mi. Bueno, hice la prueba como dices, de tranformar tu unidad en componente... lo intenté una y otra vez... pero no me deja intalarlo. Tal como tu dices. No se que puede ser... no he tocado el código simplemente lo hice componente y nada. No se instala... es de loco.... No encuentro razón en mi cabeza para atribuir esto. He hecho componentes y nunca tuve problemas para instalarlos. Lo que hago es simplemente añadirle el:
y poner la declaración de register. No hace falta más, al menos yo no le veo otra cosa. ¿Habrá algo en el código que lo impida? Lo he revisado y ne le veo algo "extraño" como para decir que no se pueda realizar dicha instalación. Voy a continuar... esto me es una rareza. Saludos, |
Gracias por el interes amigo, pues asi de intrigado ando yo, pero bueno que se la hace
por cierto cuando quieras te aclaro las dudas de las que hablas |
Pues yo he mirado el código y el error es claro: no se registra en la paleta porque en la Unit no tienes definido en ninguna parte el tipo TBDEUtil, ¿como va a registrarlo luego con el procedimiento Register?
Se me adelantaron... |
Cita:
Cita:
Por lo mismo el amigo delphius realiza este cambio dentro de la misma para que funcione como componente Cita:
|
Lo que se me ocurre que podría suceder (como caso extremo) que sea la versión de Delphi... Yo estoy usando la 6. Aunque es poco probable que sea esto. Pues, como dije antes he hecho componentes antes (y todos ellos no visuales y descendientes de TComponent) y no he tenido problemas.
Por el momento habrá que conformarse con una unidad. Amigo eduarcol en cuanto yo esté más tranquilo y tu tengas tiempo te pregunto algunas de esas dudas, primero dejame leer uno poco la ayuda para ver si logro despejar algunas. De seguro que tienes otras cosas que priorizar. Lo que se me está pasando por la cabeza... ¿será que alguna de las units declaradas en uses traerá algún efecto?:confused: Saludos, |
Yo tengo un componente en el cual puse algunas funciones, lo derivé de TComponent y lo uso perfectamente. No sé si te sirve para algo lo pongo acá.
Cuando lo uso lo incluyo en Uses o lo pego en el formulario. |
se ve bueno seguro le podre dar algun uso, gracias :)
|
La franja horaria es GMT +2. Ahora son las 03:46:04. |
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