Ver Mensaje Individual
  #2  
Antiguo 04-05-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Reputación: 22
__marcsc Va por buen camino
Hola muy buenas,

pues te vuelvo a contestar (tranquilo, las disculpas no son necesarias en este caso ya que el tema se ha perdido)

Para hacer lo que quieres puedes utilizar 2 funciones de las APITools de Delphi (para ello vas a necesitar poner la unit TypInfo en la clausula uses)

- HasProperty: te permite saber si un componente tiene una determinada propiedad

- SetOrdProp: Te permite establecer el valor de una propiedad por su nombre

Aquí encontrarás un ejemplo:

http://www.delphi32.com/info_facts/faq/faq_699.asp

Ojo que en tu caso tienes que pasarle un string y la función SetOrdProp solo te permite pasarle un entero, por lo que creo que tendrías que hacer algo similar a esto:

Código:
Valor:= 'Prueba';
SetOrdProp(Componente,'Caption',Integer(Pointer(Valor)));
Ojo! No lo he probado, pero diría que es lo que tienes que hacer.

Un saludo.

P.D: Obviando toda la filosofada que tuvimos antes sobre si es conveniente o no utilizar este método en vez de el que utilizas ahora, solo te diré que en mi caso, si el numero de clases es pequeño lo dejaría tal como lo tienes, mientras que si vees que te va a crecer mucho sí que cambiaría de método

Última edición por __marcsc fecha: 04-05-2003 a las 13:49:06.
Responder Con Cita