No artigo de hoje, vamos mostrar 5 situações que podem ocasionar o aviso “Syntax Error” em um fonte prw em AdvPL.
Todas as situações abaixo, irei anexar o print com o problema (a esquerda) e solucionado (a direita).
1 – Estrutura sem fechar
Esse primeiro caso é quando temos um laço de repetição com While ou For ou uma estrutura de condição com If e não fechamos ela.
Por exemplo, se for While esta faltando EndDo, se for For esta faltando Next, se for If esta faltando EndIf.
2 – Alteração de Constante
Esse segundo, é quando temos uma constante via #Define, e as constantes não podem ser alteradas, apenas variáveis.
Então a solução é ao invés de usar uma constante, criar uma variável.
3 – Faltando completar o comando
Quando se usa comandos com espaços, e esta faltando completar, pode ocasionar esse problema.
Por exemplo, ao usar o TCQuery sem passar a variável e o nome do alias.
4 – Quando não tem comando depois do ponteiro
Quando se usa o ponteiro em algum alias com -> e não é inserido nenhum comando após.
Portanto, quando se tem um ponteiro ->, tem sempre que colocar comandos a direita.
5 – Quando a linha termina com um sinal de +
Quando utilizamos a continuação de linhas, nós temos que encerrar com ; para que continua na linha de baixo.
Então, se por exemplo, estiver montando um texto ou quebrando um array e esquecer de continuar com ; no final, esse problema será exibido.
Obs.: Além dos cenários acima, existem palavras reservadas que você não pode usar, por exemplo, cFilial em declaração de função, tendo que mudar para algo como cFilialVar.
Obs.2: Podem existir outras situações, aqui sintetizei as mais comuns, se você lembra de alguma outra, deixe nos comentários.
Bom pessoal, por hoje é só.
Abraços e até a próxima.