
 Desarrollo de componentes para CCD (Componentes del ClubDelphi)
 ---------------------------------------------------------------
 
 Los componentes que se incluyen en el paquete CCD cumplen las siguientes
 "reglas" bsicas. Quizs no estn todas las que son, pero, como se suele
 decir, son todas las que estn. 
 
 
 
 
 ----------------------------------------------------------------- 
 ----------------------------------------------------------------- 
 
 Este documento es provisional y est sujeto a cambios permanentes
 
 -----------------------------------------------------------------  
 -----------------------------------------------------------------  
 
 
 
 
 1 UNIDADES, TIPOS, EXCEPCIONES
 -------------------------------
 
 
 1. A. Unidades e identificadores de tipos
 -----------------------------------------
 
 Siempre que sea posible cada componente se implementar en una sola unidad.
 El nombre del tipo del componente ha de comenzar por "TCCD", por ejemplo:
 "TCCDChangeCD", "TCCDComboBox", "TCCDWebBrowser", etc.
 
 Los nombres de las unidades comenzarn con una "U" a la que seguir el nombre
 del tipo del componente, sin la "T", por ejemplo: "UCCDChangeCD.pas",
 "UCCDComboBox.pas", "UCCDWebBrowser.pas", etc.
 
 
 1. B. Excepciones en los componentes
 ------------------------------------
 
 Todos los componentes de CCD comparten la unidad "UCCDExceptions.pas", donde
 se definen excepciones propias de los componentes CCD, y que cada uno de ellos
 emplear en caso necesario.
 
 Existe un tipo de excepcin base "ECCDException", de la que derivan de una
 u otra forma otros tipos de excepciones ms concretos. Es posible extender
 las excepciones para aadir un nuevo tipo.
 
 
 1. C. Otros tipos compartidos
 -----------------------------
 
 Los componentes CCD cuentan con la unidad "UCCDTypes.pas", donde encontrarn
 tipos de datos que los componentes pueden compartir o de hecho comparten.
 
 Por su parte, la unidad "UCCDEvents.pas" aporta a todos los componentes de
 CCD "tipos de eventos" que tambin pueden compartirse en caso necesario.
 
 
 1. D. Cadenas, recursos
 -----------------------
 
 Los componentes de CCD cuentan con la unidad "UCCDResources.pas", donde pueden 
 hacer uso de ciertas cadenas de caracteres "compartidas", o bien aadir las 
 que necesitasen.
 
 En caso de verse necesario podra aadirse otro archivo de recursos por parte 
 del componente. De ser as el nombre de dicho archivo de recursos sera el 
 mismo que el del tipo del componente.

 Un ejemplo puede ser el componente "CCDCheckTreeView", que cuenta con su
 propio archivo de recursos "TCCDCheckTreeView.res".

 
 1. E. Directorio raz y ejemplos
 --------------------------------
 
 Por el momento todos los archivos de los componentes se encontrarn en el
 directorio "Source".
 
 Si algn componente precisa algn ejemplo, o se lleva a cabo algn ejemplo
 de uso de cualquier componente, se incluir en el directorio "Examples",
 concretamente un un subdirectorio del mismo nombre que el componente cuyo
 uso quiere mostrarse, como "CCDHashes", "CCDWebBrowser", etc.
 
 Si quisiera crearse un segundo ejemplo para el componente "CCDHashes"...
 el subdirectorio debera nombrarse como "CCDHashes (n)", donde "n" es el
 nmero de ejemplo del componente que va a aadirse.
 
 
 1. F. Iconos de los componentes
 -------------------------------
 
 Cada uno de los componentes ha de aadir su propio icono (que aparecer
 en la paleta de componentes de Delphi y en el contenedor -en el caso de
 los componentes no visuales- de los componentes).
 
 Todos los iconos de los componentes se encuentran en "CCD.dcr". Cada icono
 se identifica unvocamente mediante el nombre de su tipo.
 
 
 1. G. Herencia de los componentes
 ---------------------------------
 
 Todo componente que vaya a heredar de "TComponent" habr de hacerlo del
 tipo "TCCDBaseComp" (que a su vez deriva de "TComponent"). Este tipo se
 encuentra en la unidad "UCCDBaseComp.pas".
 
 Los componentes que hereden de otro tipo de clase habrn de aadir una
 variable privada: "FAboutCCD" del tipo "TAboutCCD" que se encontrar en
 la unidad "UCCDTypes".

 Adems estos ltimos componentes aadirn una propiedad "AboutCCD" en su
 clusula "published", tal que as:
 
 published
   property AcercaCCD: TAboutCCD read FAboutCCD stored false;

 Cuando un usuario haga clic sobre dicha propiedad en el Inspector de 
 objetos de Delphi le aparecer el dilogo "Acerca de..." que comparten 
 todos los componentes de CCD.
 
 
 
 
 2 CDIGO FUENTE, REGLAS DE ESTILO
 ----------------------------------


 2. A. Idioma de identificadores, funciones, etc.
 ------------------------------------------------

 El idioma en que se escribe el cdigo fuente de los componentes de CCD es
 el de Shakespeare, ms o menos, es decir el ingls. Con esto pretende evitarse
 identificadores bizarros en espaol y una mayor coherencia en el nombre de
 dichos identificadores en todos los componentes.
 

 (Continuar...)
 
 
 
 
 
 

 
 