Por lo que yo he entendido en la variable
carpa tienes el nombre del botón al que deseas cambiarle el color (o cualquier otra propiedad). E intentas hacer una cosa como esta para cambiarle el nombre:
En delphi esto no funciona, pero sí se puede hacer; Basta con utilizar la función FindComponent, que te permite acceder a un componente a partir de su nombre; Por ejemplo, si estás utilizando un TPanel sería:
Código Delphi
[-]
var
pnl:TPanel;
carpa:string;
cmp:TComponent;
...
begin
cmp := FindComponent(carpa);
if Assigned(cmp) then begin
pnl := Tpanel(cmp);
pnl.color := clYellow;
end;
Te lo he hecho paso a paso para que veas claras las operaciones; Si en lugar de un Tpanel es un TEdit se hace similar; Basta con cambiar el componente por otro de otro tipo.
En tu caso podría ser:
Código Delphi
[-]
(carpa).Color:=cllime;
TEdit(FindComponent(carpa)).Color := clLime;
TLabel(FindComponent(carpa)).Color := clLime;
TButoon(FindComponent(carpa)).Color := clLime;
TPanel(FindComponent(carpa)).Color := clLime;
Si buscas en los foros sobre
Findcomponent encontrarás muchos más ejemplos.