![]() |
SetBitmap no funciona con assign
Tengo un componente con una propiedad TBitmap definida como
Con FMiBmp y SetMiBmp definidos en private. Porqué ocurre que si en tiempo de ejecución intento cambiar su gráfico así:
Se dispara el procedimiento SetMiBmp mientras que si lo escribo así:
no ejecuta ese procedimiento? |
claro que no, porque estas obteniendo el bitmap y asignando una propiedad de este...
Según la declaración de tu propiedad, se lee directamente el FMiBmp. Hasta luego. ;) |
Disculpa mi ignorancia pero no entiendo la diferencia entre las dos... Puedes abundar un poco?
|
Cuando pones
estás asignando un valor a la propiedad MiBmp. Como en la declaración de esta propiedad tienes puesto un método de acceso para escritura (write), entonces la asignación es equivalente a:
En el segundo caso:
No estás asignando un valor a la propiedad, no hay una sentencia de la forma Código:
objeto.propiedad := valor;Código:
MiComponente1.MiBmpCódigo:
MiComponente1.MiBmp.Assign(Image1.picture.Bitmap);Que no te confunda el hecho de estar usando un método que porcasualidad se llama Assign, con el hecho de estar asignando un valor a una propiedad como en el primer caso que planteas. // Saludos |
Yo no podría haberlo explicado mejor... :)
|
Gracias Román, muy elocuente lo tuyo como siempre. Gracias jachguate también.
|
| La franja horaria es GMT +2. Ahora son las 22:24:52. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi