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