#pas
procedure THIWin.SetHint(const Text:string; const HintStyle:byte);
begin
if Assigned(Manager) then Manager.free;
// if Manager = nil then
Manager := NewManager(HintStyle);
if hi = nil then hi := NewHint(Control);
hi.Text := Text;
end;
Но править не буду - это был бы вывод из не знания
Послушаем автора этой реализации