Acabei de pensar numa explicação legal sobre essa compilação.
Imagine alguém puxando sua orelha toda vez que fizer uma coisa errada.
Como é no começo do uso:
Muitos alertas, seus fontes fazem muita coisa errada, esse alguém tá te puxando a orelha por tudo que fez de errado até hoje
Várias vezes, talvez nem entenda direito porque esse alguém está puxando sua orelha, apenas vai fazendo o que esse alguém pediu.
Conforme vai usando....
De tanto esse alguém puxar sua orelha, todo dia e toda hora...
VOCÊ começa a entender o porque, e apenas considera: "é mesmo, esqueci disso..."
E com o tempo....
Já sabe que precisa e porque, então já faz antecipado.
E é justamente aà que você virou um craque: está se antecipando aos possÃveis problemas
Então....
Eu percebi que isso aconteceu comigo.
No começo eu fazia só por fazer, só pra funcionar a compilação -w3 -es2, só porque disseram que seria melhor assim.
Percebi que muitos tipos de erro começaram a desaparecer.
Gostei do resultado, então fui procurando entender o porquê de outros erros, e qual seria a melhor solução.
A melhor solução era sempre que possÃvel, declarar variáveis LOCAL, ou receber por parâmetro, pra já se tornarem LOCAL, ou por referência quando queria o conteúdo alterado (ao invés de PRIVATE).
Com o tempo, os resultados foram sendo cada vez melhores.
E o que acabei percebendo, é que isso não mudou só os fontes... isso mudou a mim mesmo.
Pense bem:
Esse alguém que "puxa sua orelha", é como se fosse um professor particular, 24 horas por dia te ajudando.
24 horas por dia "puxando sua orelha", com certeza o tempo vai fazer você aprender mais coisas, nem que seja pra não ter a "orelha puxada".
Se você acostuma a fazer fonte pra não "puxarem sua orelha", significa que você está acostumando a fazer certo, está se antecipando aos erros.
E quem faz isso é o que? é um bom programador.
Então... tente fazer uma forcinha pra usar compilação -w3 -es2.
Não precisa resolver tudo num dia, é impossÃvel, e é muito provável que ainda não tenha conhecimento pra resolver tudo de uma vez.
Apenas use, uma vez, uma única tentativa de compilação, resolva apenas UM erro da compilação uma única vez.
Comece por aqueles fontes minúsculos, de poucas linhas, poucas variáveis, apenas vá fazendo quando tiver tempo.
Apenas não desista, vai fazendo o pouco que puder, na hora que puder.
NÃO é obrigatório fazer tudo de uma vez, pode compilar -w3 -es2 pra resolver um único alerta, e depois voltar ao uso normal.
Com o tempo, a "mágica" vai acontecendo.
Importante:
Comece pelos primeiros erros, e não pelos últimos.
É que se não declarou uma variável, por exemplo, vai dar erro em tudo que é lugar que usa a variável.
Resolvendo o primeiro erro, já resolveu todos que vém depois sobre essa variável.
E, geralmente, a criação da variável vém antes do uso, então o normal é que o primeiro erro seja exatamente no primeiro uso dela.
Por exemplo, nTotal := 0, antes de começar a fazer a soma, Resolvendo sobre nTotal, resolve toda soma que vém depois.