![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Tu lo haces ver tan facil neftalí!!!
Funciono perfecto... Muchisimas gracias Master! Última edición por adonias fecha: 10-02-2011 a las 14:46:46. |
|
#2
|
||||
|
||||
|
Bueno ..nada más agregar otra alternativa..(aunque no la he probado)... es decir que para poder obtener el label se podría hacer un casting del formulario directamente a clase del formulario en cuestion;ésto en la siguiente linea:
Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 10-02-2011 a las 16:40:41. |
|
#3
|
||||
|
||||
|
Cita:
![]()
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#4
|
||||
|
||||
|
A caray.. entonces no se permite poner ningun Uses en la unidad en cuestion?
![]() Bueno... no soy bueno para trabajar con Paquetes y el manejo RTTI en Delphi pero mi pregunta es entonces: Neftalí, se puede hacer un casting en delphi hacia una clase específica teniendo el nombre de clase específica en una variable? ![]() Por que si se lograse hace eso, se podría utilizarlo en éste caso ¿verdad? o no es posible hacer eso? ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
||||
|
||||
|
Cita:
La gracia de cargar los paquetes de forma dinámica con LoadPackages, es que el ejecutable en el momento de compilarse y de ejecutarse no debe tener ninguna referencia a lo que hay en ese package (imagina plugIns que puedes estar o no). Si en este caso añadimos al USES una unit del TForm2, cuando Delphi compile el proyecto pedirá esa unit y la incluirá en el EXE o si estubiera con packages se asegurará de "linkar ese package de foma estática" para que ese package exista al ejecutar (y eso es justo lo que no queremos -que lo linke de forma estática-). Cita:
Teniendo el nombre de una clase no puedes "castear por ella", pero con RTTI puedes acceder a la Clase, acceder a sus métodos, ejecutarlos, acceder a las propiedades, modificarlas,... En principio teniendo el string 'TForm2' podemos hacer casi todo, pero no llegaremos a:
Podemos llegar a hacer lo mismo por RTTI, pero no al menos de esta forma. ![]() AÑADO: Se me ha adelantado Román y lo ha explicado perfecto y conciso... ;-)
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 11-02-2011 a las 19:16:12. |
|
#7
|
||||
|
||||
|
Aunque usar RTTI no es, en mi opinión, lo más adecuado. Siempre es preferible tener una interfaz entre la aplicación y los paquetes para que ambos se comuniquen.
// Saludos |
|
#8
|
||||
|
||||
|
Ajaá..
ya voy entendiendo mejor la cuestion esa de "cargar dinámicamente paquetes" aunque en RTTI estoy verde aún.![]() Cita:
, pero si no estoy trabajando con carga dinámica, es posible hacer dicho moldeo(casting) teniendo la clase con GetClass? de ser así me podrias dar un ejemplo si no es mucha molestia?Saludos.. ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 Última edición por rgstuamigo fecha: 11-02-2011 a las 19:28:19. |
|
#9
|
||||
|
||||
|
¡Polimorfismo!
Con GetClass obtienes una referencia de clase. En el caso que nos ocupa, como al menos se sabe que la clase referenciada es un descendiente de TForm, puedes hacer el moldeo con TForm y así llamar al constructor. El polimorfismo es entonces, lo que permite que la instancia construida sea de la clase derivada y no de TForm. Así pues, no puedes hacer el moldeo, pero sí construir los objetos de la clase adecuada. // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como cargar componentes activeX y librerias en el ejecutable | tom_rkx | C++ Builder | 3 | 09-04-2008 23:38:57 |
| Librerias | Bonachon | Conexión con bases de datos | 2 | 18-01-2007 02:54:46 |
| librerias | javikanin | Varios | 0 | 09-11-2004 23:11:20 |
| librerias | kwan | Conexión con bases de datos | 7 | 17-09-2003 00:53:21 |
| Librerias | esquerda21 | Gráficos | 6 | 08-08-2003 10:47:08 |
|