Hola sancarlos, digamos que nuestro campo se llame estado y también supongo que estas controlando que si el componente ya esta creado, ya no lo vuelvas a crear, con el codigo que te explique arriba.
Código Delphi
[-]
var
Estado : Integer;
Edit : TComponent;
begin
......
Estado := adoportsportnumber.AsInteger;
Edit := FindComponent(adoportsportnumber.AsString);
if Assigned(Edit) then
begin
if ScrollBox1.ContainsControl(TControl(Edit)) then
begin
showmessage('el componente esta en el ScrollBox, ya no debemos crearlo y lo pintamos de un color x');
if Estado=1 then
begin
TEdit(Edit).Color := clYellow;
TEdit(Edit).Font.Color := clGreen;
end
else
....... end
else
begin
showmessage('el componente no esta en el ScrollBox y lo creamos de otro color igual segun al estado');
tMyBoton := Tedit.create(self);
.....
.....
if Estado=1 then
begin
tMyBoton.Color:=clYellow;
tMyBoton.font.Color:=clGreen;
end
else
..... end;
end;
mas o menos asi sería el codigo y talvez sería mejor que tu variable se llamara TMyEdit y no te TMyBoton, ya que estas creando un edit.
Saluditos