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
|
|||
|
|||
Cómo prescindir del "casting" de tipos
function tform1.obja(cep:string):tobject;
begin obja:=tobject(findcomponent(cep)); end; pero lo que quiero es que la salida de la funcion sea de diferentes tipos por ejemplo topendialog.create(self).name:='xx'; ó tedit.create(self).name:='xx'; que se pueda hacer esto --->obja('xx').filename o estoo obja('xx').text y no esto (obja('xx') as topendialog).filename ó (obja('xx') as tedit).text si me podiran ayudarr porfaaaa!!! como le muevo a la funcion para que haga eso de salidas de difrenetes tiposs Última edición por Luis_264 fecha: 01-01-2009 a las 19:08:19. |
#2
|
||||
|
||||
Hola, bienvenido, creo que deberías leer la guía de estilo del clubdelphi
|
#3
|
||||
|
||||
Yo no veo posible hacer lo que pides ya que no puedes devolver un componente específico como resultado cuando entran en juego otros componentes de distinto tipo. Hagas lo que hagas tendrás que utilizar ese método. Otra forma más enrevesada sería realizar diferentes funciones que fuesen específicas a cada tipo de componente, en ese caso sí podrías, pero tendrías que decidir tu que función usar en cada caso.
De todas formas si tanto te urge, porque no explicas el caso desde un punto de vista más anterior, como por ejemplo, el porqué necesitas evitar usar ese método.
__________________
"La recompensa de una buena acción está en haberla hecho" |
#4
|
|||
|
|||
Hola, puedes modificar la funcion usando las TPersistentClass (link). No se bien bien como se haria, pero me da que puede hacerse. Por otra banda, no le encuentro mucho la utilidad , esto es, con el typecast al tobject te iria de perlas...
|
#5
|
||||
|
||||
Tal cual lo tienes, yo también creo que no se puede hacer, aunque tampoco entiendo muy bien a dónde quieres ir a parar.
Utiliza tags cuando añadas código delphi a los mensajes. Un saludo.
__________________
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. |
#6
|
||||
|
||||
La unica via que veo es usar Generic y/o incorporar un lenguaje de script y evaluar dinamicamente.
Aunque el estilo por si mismo tiene su uso, tanto que en lenguajes dinamicos es la norma, igual que los otros me pregunto que es lo que buscas.
__________________
El malabarista. |
#7
|
|||
|
|||
rectifico, creo que no puede hacerse, a no ser que hagas un monton de overloads y pases antes que clase es como un parametro. O bien que uses olevariants, pues el compilador no revisa sus metodos, aunque ya te puedes imaginar que ese esfuerzo no valdria la pena saludos.
|
#8
|
|||
|
|||
mmm okk graxx ps solo lo keria para simplificar mi codigo =D pero si ya veo ke asi se va a complicarr mass =D ok grax detodos modos
|
#9
|
||||
|
||||
No sé, pero si no son muchas clases, con los overloads podrías hacerlo, o ya puesto con funciones:
o hacer una clase que lo englobe todo:
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
casting Composite Report: error al imprimir | MsYo | Impresión | 2 | 24-07-2006 12:29:09 |
Def. de constantes - Casting | Mariana | OOP | 3 | 21-10-2005 19:24:23 |
Casting de TComponent en TEdit | jamonete2 | Varios | 2 | 12-06-2005 15:56:19 |
Tipos de boludos | DarkByte | Humor | 0 | 29-06-2004 09:45:57 |
... 100 tipos... | Jure | Humor | 0 | 18-03-2004 14:24:30 |
|