Hoje aconteceu um erro estranho num cliente, mas acabei não investigando detalhes.
Tenho lá o SJPA.EXE, é apenas um intermediário, que verifica na pasta JPA*.EXE, e carrega o JPA.EXE mais novo.
No JPA.EXE tenho uma precaução: ele também verifica o JPA*.EXE mais novo, e carrega o JPA.EXE mais novo, emitindo um alerta.
Até aà tudo bem.
Mas.... estava aparecendo a mensagem do meu aplicativo: um JPA.EXE mais novo foi encontrado e será executado.
Como assim? se pega o mais novo, como tem um mais novo?
No explorer, olhando a pasta, tem dois JPA*.EXE, então apaguei o mais velho.
Continuou aparecendo a mensagem.
Como assim? só tem um, como tem um mais novo?
De novo, no explorer, olhando a pasta, coloquei lá: JPA*.EXE
Aparece JPA.EXE e SJPA.EXE
Apaguei o SJPA.EXE, copiei outro, e tudo voltou ao normal.
Sei lá... é capaz que tava SJPA.JPA.EXE ou JPA.SJPA.EXE, ou algum nome estranho.
Deveria ter olhado pelo prompt, pra confirmar o nome, mas como estava tentando resolver o problema, já foi....
Comentário extra:
Com todas essas mudanças no SQL, de nomes de tabelas e nomes de campos, o erro era não encontrar determinada tabela, porque estava tentando acessar por um nome velho, usado pela versão velha.
Se não fosse isso.... nem saberia da troca do EXE, porque o usuário nunca comentou da mensagem "encontrado JPA.EXE mais novo", que acontecia SEMPRE ao carregar o aplicativo.
Pois é... no final, minhas mudanças de nomes acabaram ajudando a descobrir esse "defeito".
NÃO sei o que ocasionou a mudança, se foi usuário ou Windows.
Talvez melhor alterar a mensagem pra algo mais dramático, por exemplo: "Prosseguir com o mais novo? Vai se responsabilizar por algum estrago?"
Quando faz assim, o usuário fica com medo de causar problema...
Nota: não tem a ver diretamente com Harbour, mas... afetou também o teste do Harbour pra EXE mais novo.