quinta-feira, 13 de janeiro de 2011

Mudando texto do TEdit no OnChange

Se o texto de um TEdit for mudado no seu evento OnChange, este evento será chamado recursivamente até
acabar com o espaço de pilha. Para fazer isso, deve-se setar o evento OnChange para NIL antes de mudar o texto,
voltando ao original depois, desta maneira:

procedure Edit1Change(Sender : TObject);
begin
Edit1.OnChange := NIL;
if Edit1.Text = 'Texto' then
Edit1.Text := 'Novo Texto';
Edit1.OnChange := Edit1Change;
end;

Esta dica também vale para evento OnValidate.

Nenhum comentário:

Postar um comentário