PDA

Ver la Versión Completa : No anda un editor de componentes


elcigarra
10-06-2005, 06:32:19
Realice un editor de componentes siguiendo el curso de Luis Roche. Tengo tal cual los procedimientos GetVerb, GetVerbCount, ExecuteVerb, Edit, etc... y creo haber entendido como funcionan y para qué son estos procedimientos. Finalmente registré la unidad con dicho editor en el paquete donde esta instalado el componente al cual le dará el servicio, con RegisterComponentEditor(TMiComponente,TMiComponenteEditor). Sin embargo para mi componente no existe ningún editor. Ni con Click derecho, ni con dble click.

¿Tengo que adicionar algún código en el componente para que sepa que tiene un editor? ¿Alguien sabe porqué puede no estar funcionando?:confused:

delphi.com.ar
10-06-2005, 14:39:58
Porque no nos muestras algo de código... es muy teórica tu explicación.

jachguate
10-06-2005, 17:03:41
La unidad está incluida en un paquete que esté instalado en la paleta?

Si no lo está, pues delphi, en tiempo de ejecución (de delphi, que es el tiempo de diseño de tus programas) jamás se enterará de la existencia de dicho editor.

Al incluir la unidad en un paquete instalado, cuando delphi arranca ejecuta todas las secciones de inicialización de las unidades, provocando el registro de los editores de propiedades y componentes, en el que luego se basa para saber que hacer con cada uno de ellos.

Hasta luego.

;)

elcigarra
11-06-2005, 03:44:41
Yo lo instalé en el mismo paquete donde estaba el componente.. como quien instala un nuevo componente. En la lista de archivos del paquete, figuran:
MiComp.pas
MiCompEditor

Sin embargo al tirar el componente en un formulario, Delphi no se entera que tiene un editor ni con dblclick ni con click derecho.
¿Como sabe Delphi que un componente tiene un editor? ¿Queda eso establecido solamente mencionando "TMiComponente,..." en el procedimiento RegisterComponentEditor o hay que hacer algo más?

elcigarra
11-06-2005, 04:08:03
Ooooops!!....:eek:

Dos días tirados... Ya encontré que pasaba. Era un pequeñíiiiiisimo detalle. Había omitido la declaración del método "Register" en la interface :D . El procedimiento estaba implementado pero no registraba nada.

Lamento y agradezco amigos.

jachguate
11-06-2005, 04:19:04
bien!... me has quitado un peso de encima! :D

<Sergio>
11-06-2005, 04:39:06
Ooooops!!....:eek:

Dos días tirados... Ya encontré que pasaba. Era un pequeñíiiiiisimo detalle. Había omitido la declaración del método "Register" en la interface :D . El procedimiento estaba implementado pero no registraba nada.

Lamento y agradezco amigos.
Estos son los tipos de "bugs" que te pueden volver loco :D