Ver Mensaje Individual
  #10  
Antiguo 20-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
pero...si buscas informacion sobre GetPropInfo encontraras que dando el nombre de la propiedad (tal cual, como una string) te devuelve que tipo de dato es aquella propiedad, con lo que ya tendrias resuelto que cast debes hacerle al puntero que pasas como segundo parametro. De todas maneras, puedes hacer que el segundo parametro sea string, y segun el tipo de propiedad, hacer strtofloat, strtoint o bien encontrar el objeto pertinente segun su nombre. Otra manera seria haciendo una combinacion de las dos:

- procedure TObjeto.asignar(NombrePropiedad:AnsiString;valor:string)
- procedure TObjeto.asignar(NombrePropiedad:Ansistring;valor : TObject);

el que tiene valor como string luego podrias transformarlo segun te convenga a strtofloat,etc...y el que tenga valor : TObject hacer un cast segun el tipo de clase que sea la propiedad. Incluso, en vez de string, pasar valor : variant, con lo que lo simplificarias bastante.

Última edición por coso fecha: 20-10-2008 a las 18:27:16.
Responder Con Cita