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 ?
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 TELA2. 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.