Problema de função no Delphi 2010

19/01/2010

1

Olá Pessoal,

Estou com um problema em uma função genérica que uso para mudar a cor do componente quando o mesmo recebe foco;
as funções são estas:

procedure fcsEnter(Sender: TObject);
begin
  {: altera a cor do componente quando receber o foco }
  if (Sender is TCustomEdit) then
    (Sender as TEdit).Color := clYellow;
end;


procedure fcsExit(Sender: TObject);
begin
  {: altera a cor do componente quando sair o foco }
  if (Sender is TCustomEdit) then
    (Sender as TEdit).Color := clWindow;
end;


procedure MudaFoco(afrm :TForm);
var
  i: integer;
begin
  {: muda o foco dos componentes do formulário }
  for i := 0 to  frmTeste.ComponentCount -1 do
  begin
    if (frmTeste.Components[i] is TCustomEdit) then
    begin
       (frmTeste.Components[i] as TCustomEdit).OnExit := fcsExit;
       (frmTeste.Components[i] as TCustomEdit).OnEnter := fcsEnter;
    end;
  end;
end;

no Delphi 2009, não ocorria problema, mas no delphi 2010 ocorre o seguinte erro na hora de compilar
"E2362 Cannot access protected symbol TWinControl.OnEnter"

alguem pode me ajudar a resolver este problema.

desde já Agradeço
Responder

Posts

19/01/2010

Pjrm1470

| "E2362 Cannot access protected symbol TWinControl.OnEnter" Já verificou o que o delphi ta te relatando!? Já olhou a classe TWinControl para ver se a propriedade OnEnter é "Protected"?   Talvez uma classe superior que use a TWinControl possua a property que você quer usar fora da Protected. De uma olhada e retorne.
Responder