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

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 12-04-2010
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola de nuevo, ElDuc:

Lo que voy a comentarte ya está en mi post anterior. Veamos, los componentes los defines e implementas en unidades aparte de la que vas utilizar para registrarlos, y que llamaremos en adelante MisComposReg.pas, por ejemplo. Da igual si utilizas una sola unit para implementar unos cuantos componentes (esto sucede muchas veces en la VCL), o como recomienda Marco Cantú dedicas una unit exclusivamente para cada componente. Pero lo que importa es que en estas unidades no hagas ninguna mención a las unidades de diseño: DesignIntf, DesignEditors, DesignMenus y DesignWindows. Si lo haces te saltará ese maldito error con la unit "proxies".

Ten en cuenta que dichas unidades, aparte de ser las que utilizará el IDE de Delphi para "conocer" tus componentes, son las que se enlazarán a cualquier ejecutable que los utilice, por lo que no pueden aludir a nada que tenga que ver con el diseño (por el asunto del Copyright que te comenté en mi anteriro post).

La clave está en crear una unit dedicada exclusivamente a implementar los editores de propiedades/componentes (MisComposReg.pas), ahí SI metes en la cláusula Uses las unidades referidas de diseño: DesignIntf, DesignEditors, DesignMenus y DesignWindows (no todas son necesarias, usa las que te hagan falta). Aparte, como es lógico, debes incluir en esta unidad referencias a las unidades donde has implementado los componentes. El procedimiento Register, donde registras los componentes y los editores, DEBE IR SÓLO EN ESTA UNIDAD.

Vayamos con los paquetes:

Esencialmente sólo necesitas crear uno, el de diseño (el de ejecución sólo te hará falta si quieres que los programas que utilicen tus componentes lo hagan mediante la opción Runtimes packages, ahí si necesitas crear un paquete de ejecución para distribuir con tu aplicación).

En cuanto al paquete de diseño, sólo tienes que añadirle en la cláusula REQUIRES la referencia al paquete designide.dcp que viene con Delphi, y basta con que le añadas solamente la unidad MisComposReg.pas donde se registran los componentes y los editores. Ninguna unidad más. Éste es el paquete que instalas en Delphi. El archivo que debes añadir es el .pas, ya que Delphi debe compilarlo desde ese paquete precisamente (nada de .dcu).

Y referente a lo de crear una unit "proxies.pas" para engañar al sistema, olvídate, simplemente quita las famosas units DesignXXX de todas las unidades menos de MisComposReg.pas, y no te saltará ese error.

Saludos,

Andrés
__________________
Guía de Estilo
Responder Con Cita
 



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
No veo, en tiempo de diseño los nombres de los componentes QuarkBcn Varios 3 19-12-2007 09:38:31
eventos en tiempo de diseño jar OOP 0 27-01-2007 22:09:11
Indices En Tiempo De Diseño?? amadis Conexión con bases de datos 0 12-04-2006 20:22:01
Diseño en tiempo de ejecucion Nelson Alberto Impresión 2 26-01-2006 09:34:12
Instalar componentes solo en tiempo de diseño DarKraZY Varios 0 19-08-2003 16:47:37


La franja horaria es GMT +2. Ahora son las 07:46:54.


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