Continuando a minha mensagem... (desculpem tive que sair de repente).
Hasse escreveu:Quer dizer, ponto-e-vírgula aciona as funções sequencialmente, e só vírgula e entre parênteses as 2 funções são acionadas simultaneamente ?
Ponto e virgula dá continuidade a sequência de comandos. Mas neste caso, você não pode dar um comando diferente, isot é, que interrompa a primeira sequência. Vamos ver se eu me explico. Você começou com o comando
DEFINE WINDOW e note que existem ";" mas isso porque toda sequência pertencem ao
DEFINE WINDOW que após os ponto-e-vírgulas seriam as propriedades da definição do FORM, certo ? Mas se você colocar nessa mesma sequência, outro comando (vamos dizer: <form_name>.release) não irá condizer com a sequência de comandos que tinha sido iniciada.
Ponto e vírgula serve para você quebrar a linha do seu código e dar uma aparência mais caprichada e entendível. Do contrário ficaria uma linguiça só.
Hasse escreveu:E se nesta linha fosse invertido, qual seria o funcionamento ?
Código: Selecionar todos
Linha 06 -> ON INTERACTIVECLOSE Sai_Sim_Nao( l_First ) ; Form_0.Release
Aqui tem dois erros:
1. Você quer misturar a sequência de comandos com um outro comando que não condiz o primeiro. É como se você quisesse fazer algo assim:
SAVE SCREEN QUIT() TO TELA
2. Nesse caso que estivesse invertido e tirando essa questão do mal uso do ponto-e-vírgula. Como você sugeriu da primeira vez, o Form_0.Release antes da chamada de função Sai_Sim_Nao. Você estaria (caso funcionasse, repito. Não funciona pelo mal uso do ";") executando primeiro o release que seria a saída e interrupção total de qualquer processamento, qualquer função que estava dentro desse FORM iria ser interrompido.
Eu acostumo fazer uma função que chame as outras funções ou comandos. Fica mais clean.