Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 20-10-2008
gushynet gushynet is offline
Miembro
 
Registrado: ago 2008
Posts: 26
Poder: 0
gushynet Va por buen camino
Exclamation

Código Delphi [-]
type TObjeto = class(TObject)       
    .......   
 end;  
  ...........    
procedures TObjeto.Asignar(nombrePropiedad:AnsiString;datoNuevo:?);    begin       
.....  
 end


La funcion Asignar es un método del objeto por lo que no intervienen mas objetos que el que llama al método.

Esta funcion en principio deberia ser capaz de cambiar el valor de una de sus propiedades simples, es decir, propiedades como el caption de un TButton por ejemplo que es de tipo AnsiString.

Como dije en el correo anterior, el problema que se me plantea y por el que no puedo usar la informacion proporcionada por rtti es en el segundo parámetro del método asignar. De que tipo de dato es?, depende de la propiedad que indique en el primer parámetro. Lo que esta claro es que no existen funciones condicionales en la que el tipo de uno de sus parámetros venga en función de otro parámetro de la misma rutina.

El primer parámetro no tiene problema, es el nombre de la propiedad a la que quiero cambiar su valor.

Por tanto, las posibles soluciones que veo son:

* sobrecargar el procedimiento asignar:

- procedure TObjeto.asignar(NombrePropiedad:AnsiString;valor:integer)overload;
- procedure TObjeto.asignar(NombrePropiedad:AnsiString;valor:double)overload;
-.... y asi con todos los tipo simples.


* pasar el segundo parámetro como pointer y dentro de la rutina averiguo el tipo al que apunta el pointer (a un entero,a un real, booleano, string,....), hago el casting y realizo la asignacion.

Pero claro, ¿como me entero de a lo que apunta un pointer, si lo unico que puedo averiguar a través del pointer es la direccion que tiene almacenada pero no que es lo que representa?. Por esta razón creo que voy a optar por sobracargar la rutina Asignar, una por cada tipo de dato simple. Y mira que lo del pointer me parecia una solucion mas elegante, pero no se puede tener todo en la vida , se puede tener sexo, alcohol pero no un pointer con mas conversacion.


Gracias por la ayuda. Un saludo.

Salud y delphi

Última edición por gushynet fecha: 20-10-2008 a las 17:27:40.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Google apunta a una página de mi sitio que ya no existe Io HTML, Javascript y otros 7 01-10-2007 01:00:11
A quien apunta el parametro jzginez Conexión con bases de datos 3 28-08-2006 16:41:19
Variables Tipo Pointer omar_e_rc Varios 4 24-03-2005 18:51:34
Una variable que apunta a dos objetos mlara OOP 5 10-12-2004 04:53:41
1 Gb de correo gratuito: Spymac, otro que se apunta al carro ... kinobi Noticias 3 19-04-2004 17:22:50


La franja horaria es GMT +2. Ahora son las 01:13:19.


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
Copyright 1996-2007 Club Delphi