![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
TWinControl en Delphi 2007
Hola a todos !
![]() Estoy intentando pasar código a Delphi 2007. Al parecer antes (al menos en Delphi 2006) la clase TWinControl tenía publicadas entre otras las propiedades Color y Font. Yo al menos lo utilizaba para cambiar el color de fondo y del texto al obtener foco en un control de edición.
Ahora ya en Delphi 2007 estas propiedades no están publicadas y no puedo acceder directamente a ellas. Ello me obliga a hacer el Cast para cada caso, sean po.ej. TLabel's, TEdit's, o cualquier otro Control. Existe alguna manera de evitar esto, es decir, no tener que preguntar cada vez por el tipo de control que quiero manejar ? Quisiera evitar esto precisamente :
Gracias por vuestra ayuda. Saludos ![]()
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
¡Hola Gluglú!
Tengo dudas sobre si en alguna versión de Delphi las propiedades Color y Font fueron declaradas como públicas o publicadas a nivel de la clase TWinControl. ![]() Mirando la VCL de Delphi 7, en ésta la visibilidad de dichas propiedades en TWinControl es Protected (la misma visibilidad que hereda de TControl). Es decir, tampoco en Delphi 7 TWinControl hace públicas las propiedades Color y Font. ¿Será posible que en Delphi 2006 las hayan hecho públicas y luego en 2007 las hayan regresado a su visibilidad tradicional? Me cuesta trabajo creer que algo así ocurriera. Un favor: preséntanos la declaración completa de las clases TControl y TWinControl que tienes en la unidad Controls.pas de tu Delphi 2006 para salir de dudas. Gracias. Al González. ![]() P.D. Tampoco veo alguna diferencia relevante en Delphi 2007. Me deja pensando que tal vez en Delphi 2006 utilizabas el truco de "molde de acceso", pero empleando una nueva clase de mismo nombre que TWinControl... |
#3
|
||||
|
||||
Pues al parecer tienes toda la razón, amigo Al !
![]() Por lo que he estado investigando es cierto que nunca han estado publicadas las propiedades Color y Font del TWinControl. Al menos en Win32. Yo utilizaba D2006 en su versión VCL.Net y ahí sí que me permitía utilizarlo de la manera que he espuesto. Al parecer en VCL.Net si es posible y en Win32 no. ![]() Saludos
__________________
Piensa siempre en positivo ! |
#4
|
||||
|
||||
¡PUF! Que interesante dato. Lo que daría por ver el contenido de la unidad Controls.pas versión D2006.NET.
![]() |
#5
|
||||
|
||||
Pues aqui te adjunto Borland.Vcl.Controls.pas que entiendo es lo que andamos buscando.
Sinceramente, si me pongo a mirar la unidad, yo tampoco veo donde se publica la porpiedad 'Colors'. El hecho claro es que en mi programa en VCL.Net (D2006) lo he utilizado infinitas veces tal y como he descrito. Espero me puedas indicar si encuentras algo más concreto, ya por llegar hasta el 'fondo' del asunto. Saludos
__________________
Piensa siempre en positivo ! |
#6
|
||||
|
||||
![]() Cita:
Esto devela el misterio. Ahora, mirando en mi Delphi 2007, encuentro curiosas diferencias: 1. La unidad en la carpeta "...\source\dotNet\vcl" se llama nuevamente Controls.pas, como en Delphi 7. Mi pregunta aquí es ¿por qué se regresó al nombre original? 2. La visibilidad de ambas propiedades está condicionada a la existencia de un símbolo de compilación llamado "CLR", que me parece es algo relacionado a .NET. Supongo que en D2007 es la misma unidad .pas para Win32 y .NET, y el símbolo CLR significa que está compilando para .NET. Y es que sólo cuando es CLR (.NET) declara las propiedades en cuestión como públicas. Con esto se hace compatible hacia atrás tanto en Win32 como en .NET. Pero lo que no me gustó nadita fue que cuando abrí la ayuda de Delphi 2007 para buscar qué es "CLR" (sin encontrar ahí el significado), me apareció un icono en la barra de tareas diciendo algo como "Visual Studio better". Y ahora dicho icono tiene un desagradable comentario emergente que dice "Visual Studio Customer Experience Improvement Program". Lo que no me explico es cómo rayos llegó ese molesto accesorio a mi computadora... ![]() ![]() ¡Caramba! Es que es como si abriéramos Firefox (aunque yo uso más IE) y de pronto apareciera un mensaje diciendo "¡Hey! Internet Explorer es mejor, mira, ven a conocerlo". ![]() ![]() ![]() ¿A alguien más le ha aparecido ese programa espía en pantalla? ![]() ![]() Saludos desencajados. Al González. |
#7
|
||||
|
||||
![]() Lo cual me sorprende más todavía. Buscando por 'CLR', me salen varias entradas, ninguna de ellas relacionada en manera alguna con lo que describes, y cito aquí la que yo creo que más se acerca : Cita:
__________________
Piensa siempre en positivo ! |
#8
|
||||
|
||||
Cita:
http://qc.codegear.com/wc/qcmain.aspx?d=43088 http://memyselfanddelphi.blogspot.co...1_archive.html Que mal se ve Microsoft con jugarretas como esas. El mensaje se interpreta como "tenemos miedo de que uses el .NET que pudimos crear gracias a exingenieros de Borland, con entornos de desarrollo mejores que el nuestro". ¿A qué personaje de Redmond se le habrá ocurrido hacer que .NET mostrara ese mensaje en pantalla, aún sin tener Visual Studio instalado? ¿A caso pensaron que nadie se molestaría, que nadie interpretaría con un mínimo de inteligencia la sucia maniobra? ¿Y ese es el Visual Studio que dices que va muy bien, Ramiro? ¡Joder! Yo prefiero la dignidad, la calidad y el honor que siguen caracterizando a nuestro Delphi. En la sombra de este mal trago hay un poco de alegría, porque el abusivo monopolio tropieza con la misma bota que usa para intentar aplastar lo bien hecho. Un abrazo despertando conciencia y "haciendo mejor" al mundo entero. Al González. Última edición por Al González fecha: 08-06-2008 a las 03:55:28. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Propiedad ParentColor en un TWinControl | jealousy | OOP | 3 | 05-06-2011 01:15:23 |
Lanzamiento Delphi 2007, PHP y JBuilder 2007 R2 Santiago - Chile | Andreano | Noticias | 4 | 14-05-2007 09:25:23 |
Mensage WM_KEYDOWN con TWinControl | liadsoft | OOP | 1 | 17-05-2006 00:17:57 |
Las teclas direccionales y TWinControl | metalfox6383 | Varios | 8 | 06-09-2005 13:46:03 |
TControl, TWinControl, TGraphicControl y TCustomControl | metalfox6383 | Varios | 3 | 25-08-2005 01:09:50 |
![]() |
|