Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   recursos de imagenes en .dfm complican diffs de subversion (https://www.clubdelphi.com/foros/showthread.php?t=61049)

pvizcay 23-10-2008 14:19:31

recursos de imagenes en .dfm complican diffs de subversion
 
hola amigos del foro, les dejo un problema que estoy tratando de ver que solución más óptima puede tener... desde ya gracias por leer

estamos trabajando con subversión (gran gran mejora creanme) y constantemente hacemos "diffs" (en realidad vemos las diferencias de los fuentes en un programita llamada winmerge, muy bueno tb lo recomiendo) entre los archivos .pas y .dfm de los units que vamos actualizando..

el "tema" es que en los .dfm van insertados (codificados en HEX) los recursos gráficos (iconos, bmps, etc.) de la aplicación y a medida que cambiamos y metemos cosas los "diffs" empiezan a tener mucho ruido (por lo mucho que ocupan dichos recursos) y no nos permiten buscar de manera "rápida" los cambios que nos interesan en el .dfm (cambio de valores de propiedades, incorporación de controles, etc.)

entonces estoy buscando una forma de separar dicho recursos de los source .dfm.. ¿ninguno tuvo el mismo tema?

hasta ahora las dos posibilidades que veo son:

1) meterlos en archivos de recursos .res; la verdad es un tema porque son engorrosos de editar, tenes que escribir el código para que se carguen de forma dinámica (osea no ves como va quedando la interfaz) y demás.. pero parece una solución válidad para simplificar los diffs..

2) hacer un datamodule que solo tenga recursos gráficos (con TImageList).. este me gusta menos, ese modulo se va a convertir en un revuelto de cosas bárbaro

bueno si alguno tiene alguna idea para aportar se lo agradeceré

Saludos!

Lepe 27-10-2008 11:43:54

Crea varios datamodules.

Hay gente que incluso crea un datamodule por Form, de esa forma tiene todo ordenado. También puedes usar un datamodule con varios ImageList que sea común a todas las ventanas, obviamente.

Un componente que suelo usar mucho es el JvImgButton de la JVCL, es un botón con la propiedad ImageList, algo muy muy útil, sobre todo para botones que se repiten en distintas parte de la interfaz.

pvizcay 27-10-2008 21:03:13

gracias lepe por contestar..

antes q nada perdon por duplicar el hilo, pasa que después el subforo imagenes me pareció mejor lugar para el mismo además de tener menos posts..

volviendo al tema, si pareciera que esa es una de las soluciones más viable, lo de los botones que se vinculan a imagelist no lo tenía, muy muy útil..

crearé un datamodule DmRecursosGraficos que tenga un imagelist por cada tamaño de recurso gráfico.. (pareciera q no se pueden poner de distintos tamaños en el mismo image list)

de esta manera todos los cambios de recursos de imágenes quedarán en ese datamodule separados de los demás cambios..

alguien probó meter todo en archivos de recursos de windows?

saludos

Lepe 28-10-2008 10:25:07

Los archivos de recursos, personalmente, me han dado alguna que otra lata, no puedo generalizar, ha sido un problema puntual pero muy enojoso. Sencillamente decía que el archivo no se encontraba o que no se podía linkar con el ejecutable (aún cuando el archivo existía, tenía el mismo nombre que el ejecutable y residía en la misma carpeta del proyecto), me hizo reconstruir el archivo de nuevo, cambiar la directiva {$I *.res} por {$I NombreDeArchivo.res} en fin, un mareo momentáneo en el que juré no usarlos mucho :D

Otra vez, cambiando el icono de la aplicación, también obtuve fallos y no me aceptaba el nuevo icono.... vamos, que no lo uso.

(Usaba delphi 6 y hace unos años, puede que me hiciese falta una actuallización... no lo sé. Me he acostumbrado a no usarlos y no lo hecho de menos ;)).

Saludos

pvizcay 29-10-2008 00:59:33

gracias lepe

te comento que el *.res no signifca cualquier archivo de recursos; significa cualquier archivo de recursos con el mismo nombre que la unit actual.. cuando leí la documentación a mi tampoco me pareció muy intuitivo... casi seguro era eso

saludos


La franja horaria es GMT +2. Ahora son las 12:34:39.

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