Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Más potente que copiar y pegar (https://www.clubdelphi.com/foros/showthread.php?t=80493)

marcoszorrilla 29-06-2006 22:34:39

Más potente que copiar y pegar
 
Estoy seguro de que alguien me bendecirá por este truco. Usted tiene un conjunto de datos (da lo mismo ahora si es una tabla, una consulta, o un client dataset) situado en un módulo de datos o en un formulario. Inesperadamente, se le enciende la bombilla y se da cuenta que el mejor lugar para dicho componente es otro módulo o formulario. Hay que organizar la mudanza. Y dos verbos le vienen a la mente: copiar y pegar.

Pero la aventura no puede terminar tan fácilmente. Usted copia el objeto al Portapapeles, y lo pega en su nuevo domicilio ... bien, también se copian los campos definidos para el conjunto de datos; un aplauso para Delphi. Entonces comprende que algo falta: algunos de aquellos campos tenían eventos asociados. No le queda más remedio que ir, campo por campo, recreando los métodos de respuesta, y trasladando fatigosamente el código de módulo a módulo...

Por supuesto, hay una forma más fácil de conseguirlo, aunque no sea tan evidente. ¿Quiere mover de módulo a varios objetos simultáneamente, y quiere conservar además los eventos asociados? Seleccione dichos objetos, y ejecute el comando de menú Component|Create component template. ¿Nombre para la plantilla de componentes? El que más rabia le dé, siempre que lo recuerde. Luego vaya a la ubicación de destino y traiga el "pseudo-componente". Comprobará que las respuestas a eventos se han respetado. Finalmente, pulse el botón derecho del ratón sobre la Paleta de Componentes, active el comando de Propiedades y utilícelo para eliminar la plantilla de componentes temporal.

He presentado el ejemplo mediante un conjunto de datos, pero la técnica puede aplicarse a cualquier otro tipo de componentes, o de grupo de componentes.


La franja horaria es GMT +2. Ahora son las 00:46:48.

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