Solte a restrição “Procedimento / função local atribuída à variável de procedimento” normalmente

Considere o seguinte caso de teste:

{ CompilerVersion = 21 }
procedure Global();

  procedure Local();
  begin
  end;

type
  TProcedure = procedure ();
var
  Proc: TProcedure;
begin
  Proc := Local;  { E2094 Local procedure/function 'Local' assigned to procedure variable }
end;

Na linha 13, o compilador emite mensagem com o nível de ERRO, proibindo todos os casos de uso de procedimentos locais. A resolução "oficial" é promoverLocal símbolo para o escopo externo (ex .: torne-o irmão deGlobal) que teriam um impacto negativo no código "estrutura".

Estou procurando uma maneira de contorná-lo da maneira mais graciosa, de preferência fazendo com que o compilador emita uma mensagem de nível de AVISO.

questionAnswers(4)

yourAnswerToTheQuestion