Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Iconos de la paleta de componentes (https://www.clubdelphi.com/foros/showthread.php?t=47705)

paldave 05-09-2007 15:00:50

Iconos de la paleta de componentes
 
Me sucedió algo curioso, si a alguno de ustedes le ha pasado y encontraron la solución agradezco me la informen.
El tema es este: tengo un paquete de componentes creados por mi, el cual tengo instalado en mi Delphi6 y funcionan correctamente. Hace unos días llevé todo el código fuente a la casa de un amigo que tiene una versión de evaluación de Delphi6 (la cual dice que, salvo el tiempo de prueba no tiene otras limitantes, tampoco está crackeada ni tiene ninguna modificación hecha) para instalarlos ahí. El problema es que al instalar el paquete y recompilarlo los iconos de mis componentes en la paleta de componentes no aparecen, aparecen sin icono (con ese icono de las figuras geométricas) o algunas veces con los iconos de los componentes de los cuales descienden :mad:
Revisé todos los archivos .pas, los archivos .dcr donde estan los iconos y los procedimientos de registro y está todo igual que en mi PC, a pesar de lo cual sigo sin poder ver los iconos de mis componentes :confused:. Intenté llevando también los .dcu ya compilados.
Es más: desinstalé todo, llevé los archivos .bpl de mi PC para instalar el paquete ya compilado y siguió el mismo problema :confused::eek::confused:

¿Alguien me puede ayudar? Desde ya agradecido.

dec 05-09-2007 15:12:09

Hola,

Los iconos de los componentes se guardan en archivos ".dcr", que pueden editarse mediante el editor de imágenes de Delphi o con programas como XN Resource Editor. Cada icono se representa por un recurso de tipo "bitmap", que creo que ha de tener 24x24 píxeles y 4 bit de colores (esto es lo general, me parece).

El quid de la cuestión está en guardar cada recurso/bitmap con el mismo nombre del tipo del componente en mayúsculas. Suponiendo que tenemos un componente "TGrandEdit" el recurso/bitmap del icono del componente debería llamarse "TGRANDEDIT". Ojo que en un archivo ".dcr" pueden incluirse varios recursos, bitmaps, iconos...

Si instalas los componentes mediante paquetes lo normal es que tengas al menos dos paquetes, uno para tiempo de diseño y otro para tiempo de ejecución. Pues bien, en el archivo de proyecto del primer paquete (el de diseño) puedes incluir el archivo de recursos ".dcr" en el mismo. A continuación un ejemplo de archivo de proyecto de un paquete para tiempo de diseño de ciertos componentes:

Código Delphi [-]
package CCD_DelphiD;

{$R *.res}
{$R 'CCD.dcr'}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Componentes del ClubDelphi (Design time)'}
{$DESIGNONLY}
{$IMPLICITBUILD ON}

requires
  rtl,
  dcldb,
  designide,
  CCD_DelphiR;

contains
  UCCDRegister in 'UCCDRegister.pas',
  UCCDAboutProp in 'UCCDAboutProp.pas';

end.

En la línea "{$R 'CCD.dcr'}" se incluye un archivo ".dcr" que contiene variios iconos en este caso. Delphi se encarga ya de buscar en dicho archivo los iconos correspondientes. Si no usas paquetes puedes incluir (igual que arriba) el archivo ".dcr" que corresponda. Si ya usas archivos ".dcr" fíjate que estos estén donde correspondan.

paldave 05-09-2007 15:22:22

Tengo muy claro el tema de los paquetes de componentes y sus iconos, como funcionan y como utilizarlos. Además el paquete me funciona muy bien en mi PC. Lo extraño (y que no pude solucionar) es que en la otra PC no muestre los iconos (los componentes funcionan ok). Es más, si abro el archivo .bpl en un editor de recursos los iconos están, y con su nombre correspondiente.
Si alguien tiene alguna pista de los que puede estar ocurriendo...

paldave 07-09-2007 03:29:38

Me contesto yo mismo:
Parece que a Delphi no le gustan los recursos que no están en idioma Inglés-EEUU (1033) y los ignora.
Cambié todos las imágenes de los dcr a ese idioma y se ven perfectos en la paleta de componentes.

Hilo cerrado!


La franja horaria es GMT +2. Ahora son las 19:25:46.

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