Recentemente li um artigo sobre Help Insight que chamou bastante minha atencao.Acredito que todos saibam o que e ou ja tiveram contato com essa funcionalidade, mas para aqueles que nao estao acostumado com o nome Help Insight, esse e um recurso do IDE do Delphi que apresenta um popup com uma breve descricao sobre o identificador (classe, metodo, funcao, variavel, ...) na qual o cursor do mouse esta posicionado.Tambem e possivel invocar o Help Insight atraves do pressionamento das teclas CTRL + SHIFT + H.Por padrao e apresentado nesse popup menu as seguintes informacoes:Nome do identificadorCategoria do identificador (Campo, variavel, metodo, classe, propriedade, ...)Localizacao (nome da unit seguido pelo numero da linha e da coluna)Tipo (Se o identificador e string, integer, ...)No caso do identificador ser um metodo, function ou procedure, a descricao e extendida apresentando tambem o(s) parametro(s) e o valor de retorno.Isso tudo e feito automaticamente pelo IDE em tempo de edicao, ou seja, nem necessitar que o codigo seja compilado.O que eu nao sabia, e e o objetivo desse artigo, e que o conteudo do popup menu pode ser customizado exibindo informacoes mais detalhadas a respeito do identificador em questao.Essa customizacao deve estar situada imediatamente acima do identificador a qual se deseja trabalhar e tem seu inicio demarcado atraves de um comentario coringa (///, tres barras) seguido por uma tag XML reconhecida pelo Help Insight viewer.As tags XML atualmente reconhecida sao:summaryparamreturnspermissionremarkscommentsAgora vamos ver um exemplo pratico contendo todas essas tags./// <summary> Verificar se um determinado componente/field teve ou nao seu conteudo/// alterado. O metodo e utilizado dentro do framework para sinalizar os/// componentes que foram modificados durante uma operacao de update.</summary>/// <param name="FieldComp"> Registro contendo informacoes sobre o field/componente. </param>/// <param name="Index"> Indice do registro dentro da lista (<c>FFieldList</c>). </param>/// <param name="Modified"> Parametro de saida que deve ser setado para True/False, dependendo/// do status verificado pelo metodo. Por padrao, o parametro vem/// com o valor True. </param>/// <returns> O valor retornado deve significar que o metodo obteve sucesso ao comparar o/// valor original com o valor atual do componente/field, ou seja, que o valor/// do parametro Modified e valido.</returns>/// <permission> Esse metodo e utilizado internamente apenas quando o formulario esta em estado/// de alteracao de registro. A implementacao original tras suporte para os/// componentes mais comumente utilizados, entretanto, em caso de customizacao ou/// extencao do suporte a outros componentes, esse metodo pode sempre ser/// reimplementado nos formularios filhos. </permission>/// <remarks> Originalmente esse metodo foi concebido para ser utilizado pelo framework como/// um servico. Assim, evite chama-lo diretamente a menos que saiba com exatidao/// o que esta fazendo. </remarks>/// <comments> Caso necessite reimplementar o metodo, e recomendado que faca uma chamada a/// implementacao da classe pai (Exemplo: Result := inherited;). </comments>Observe que foi utilizado tambem as tags <c> e </c>. Essas tags delimitam um area de texto que sera formatada no estilo de codigo fonte do Delphi (por padrao, Courier New).O resultado e:Convenhamos que se voce esta navegando pelo codigo, um help assim e muito, mas muito mais util do que simplesmente visualizar a assinatura do identificador (padrao do Delphi),