Pues a mi me funciona bien, creo que debes hacer una mejora al llamar el metodo remove, asi:
Código Delphi
[-]
if mango <> nil then
RemoveHint(mango);
Para que nos aseguremos que la variable mango siempre tenga algo al momento de llamar el metodo RemoveHint
![Wink](http://www.clubdelphi.com/foros/images/smilies/wink.gif)
.
Al llamar el RevealHint deberia tener otra mejora, asi:
Código Delphi
[-]
if mango = nil then
mango := RevealHint(Edit1);