A linguagem TLPP (TOTVS Language Plus Plus) é uma evolução do AdvPL. Desenvolvida para trazer ao programador AdvPL algumas facilidades vistas em outras linguagens.
A extensão da linguagem é tlpp.
Um código-fonte armazenado e compilado com essa extensão terá todas características descritas a seguir nas páginas filhas.
Os arquivos de biblioteca (includes) passam a ter a extensão .th (TLPP header file) e são utilizados da mesma maneira que os arquivos .ch do AdvPL, ou seja, são pré-processados como parte da linguagem.
O TLPP foi concebido como uma evolução da AdvPL e, portanto, é possível trabalhar de maneira legada, ou seja, os arquivos com extensão .ch continuam sendo aceitos, mas é recomendado que a nova extensão seja adotada para novos desenvolvimentos.
Importante:
Uma das premissas do TLPP é respeitar o escopo definido pelo desenvolvedor para funções, classes, métodos, propriedades e variáveis.
Portanto, em fontes com a extensão .tlpp, as funções definidas como STATIC somente poderão ser acessadas por funções ou métodos pertencentes ao mesmo código fonte.
Devido a isso, rotinas que fazem uso do recurso "StaticCall" não funcionarão em TLPP.
Caso você possua rotinas que façam uso direto a esse recurso, aconselhamos a refatoração!
Uso Indireto
O MVC (Model-View-Controller) Protheus utiliza o recurso de "StaticCall", portanto as rotinas que possuem MVC não poderão migrar para .tlpp e acessar os novos recursos do TL++, nesse caso aconselhamos a manter esse fonte em .prw (ADVPL).