HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

Claudio Ricardo wrote: Sun Jan 31, 2021 2:45 am OnGotFocus Nil y OnLostFocus Nil
vou acrescentar e postar os resultados individualmente...
Claudio Ricardo wrote: Sun Jan 31, 2021 2:45 am GetDesktopWidth () y GetDesktopHeight ()
Também estou desconfiado que são estas funções que estão causando os erros "estranhos"...
Claudio Ricardo wrote: Sun Jan 31, 2021 2:45 am todo el menú, popup, statusbar y botones del form main dentro de una sola función.
Tem como o amigo me postar um exemplo?
Grato.
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by Claudio Ricardo »

Hola...

Yo uso HMG 3.4.4 que es 100% estable y confiable.

Como dice el Dr. Claudio Soto mezclar librerias puede traer dolores de cabeza.

Si usas pantalla completa puedes reemplazar GetDesktopRealTop() y GetDesktopRealLeft() por 1
(esquina superior izquierda = 1 , 1) GetDesktopRealWidth() por GetDesktopWidth () y
GetDesktopRealHeight() por GetDesktopHeight () que son originales de HMG.

Tambien puedes probar de borrar la carpeta oculta .hbmk (dentro de la carpeta de tu proyecto)
y recompilar.

El archivo " Prueba_Main.zip " que subi en el otro post puede servirte de ejemplo.
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

Claudio Ricardo wrote: Sun Jan 31, 2021 10:47 am Yo uso HMG 3.4.4 que es 100% estable y confiable.
Quando comecei a migrar em 2015, fiz compilações rápidas usando um .BAT que compilava através do HBMK2 do harbour 3.0 sem lib gráfica alguma.
Depois, em menos de 6 meses, fui convencido a usar a HMG 3.0.35 que era a mais estável. imediatamente achei a 3.0.46 e mudei pra ela. fui mudando aos poucos, quase que imediatamente.
Depois voltei para .BAT pois achei muito difícil ter que reaprender no mundo visual com DEFINE WINDOW, DEFINE BUTTON, etc...
Então, nessa volta, achei a HWGUI e a OOHG, a HMEE e a GTWVG. Apesar de não ter exemplos nenhum de controle WVG (somente WVT) preferi usá-la, onde pude criar alguns PUSHBUTTON em minhas telas CUI (CONSOLE).
Aí, descobri a versão HMG 3.4.2 e em seguida a HMG 3.4.4, que já vinha incluso dentro da pasta CONTRIBS a lib GTWVG.
Praticamente, uso então a versão HMG 3.4.4 desde o seu lançamento.
Nesse período, eu já estava na fase de tentar pelo menos mudar pelo menos a tela principal da GTWVG em FORM WINDOW da HMG.
As tentativas foram frustradas e demorei uns 2 anos até chegar onde cheguei, conforme fotos que postei aqui.
Só que a versão ficou dando esses erros estranhos...
Claudio Ricardo wrote: Sun Jan 31, 2021 10:47 am GetDesktopRealTop() y GetDesktopRealLeft() por 1
(esquina superior izquierda = 1 , 1) GetDesktopRealWidth() por GetDesktopWidth () y
GetDesktopRealHeight() por GetDesktopHeight ()
eu troquei as funções que você me sugeriu (essa GetDesktopRealWidth() e as outras), pelas suas (esta GetDesktopWidth() e a outra), mas, tive a sensação que tinha resolvido.
Mas, infelizmente, os voltaram.
Claudio Ricardo wrote: Sun Jan 31, 2021 10:47 am Como dice el Dr. Claudio Soto mezclar librerias puede traer dolores de cabeza.
agora, analisando de outra forma... estou fazendo o seguinte:
1) - abrindo 2 cópias do .EXE para ver se gera conflito entre eles;
2.1) - um deles ficar apenas no MENU PRINCIPAL (FORM WINDOW MAIN) sem acionar uma das opções que são feitas ainda em tela CONSOLE da WVG (lembrando que a tela PRETA CONSOLE, até clicar nalguma opção, não existe. Ela só entra em ação e não sai mais, a partir de acionar uma das opções do sistema. exemplo: CLIENTES, PRODUTOS, VENDAS, BAIXAR, EXTRATO, etc);
2.2) - a outra cópia, sim, abrir uma das opções acima mencionadas. Ao fazer isso, a TELA PRETA CONSOLE WVG não mais fecha. Apesar de, quando se encerra a "tal janela" (exemplo: CLIENTES) ela é totalmente limpa, mas, ficando uma tela PRETA à parte e o FOCO VOLTAR para a MAIN WINDOW FORM. Talvez se a gente conseguir uma forma de que quando se sair de uma das opções, a TELA PRETA ser fechada totalmente (eu vi um exemplo, mas, não consegui descobrir qual parte que faz isso...)

Após os testes acima, no decorrer do dia de hoje (domingo), poderei ter uma resposta melhor...
Se de todas as opções acima, não resolver (2) vou experimentar eliminar os 5 botões pra ver se são eles os causadores dos problemas. De repente, os coloco numa espécie de TOOL BAR e não diretamente ligados ao FORM WINDOW MAIN.

Vamos ver...
estou em testes...
estou em construção...
MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

uma última coisa que queria destacar, com base no que já estou percebendo:
1) Assim que abre uma das opções - como disse, a tela DOS/CONSOLE da WVG aparece. Tem como travar a tela WINDOW MAIN para que o usuário não mais tenha acesso a ela até o foco voltar oficialmente pra FORM WINDOW MAIN?
1.2) observei que se der ALT+TAB (ou o clique do mouse na barra de tarefas) e mudar o FORM WINDOW MAIN (mesmo com a outra em aberto) o sistema aceita, e, com isso, ao passar o mouse POR CIMA DOS BOTÕES eles vão dando um certo FOCO (esperando algum tipo de ação do botão pelo usuário).
1.3) observei também, que só acontece esses travamentos, se já tiver sido aberta uma das telas CONSOLE. Mesmo se fechar o módulo (exemplo: CLIENTES), o foco voltar à FORM WINDOW MAIN que possui a MAIN MENU e os 5 BOTÕES, o erro acontece.

Então, nessa minha primeira conclusão, percebemos, que o erro "estranho" só acontece após ser aberta uma tela DOS/CONSOLE/WVG.

Pergunto:
1) O sistema não está em MT (Mult Thread - não sei como isso funciona). Mas, se ativar essa funcionalidade, talvez resolva?
2) como faço para ativar isso no sistema que está sendo compilado de dentro da IDE/HMG 3.5?
3) como faço para ativar isso no sistema que está sendo compilado de fora da IDE/HMG com uso do BUILD.BAT?

4) Enquanto, alguém dos nobres professores pensam para responder, vou desativar TOTALMENTE (eliminar provisoriamente os códigos) os 5 BOTÕES, para também, eliminar quaisquer suspeitas;
5) Mas, antes, vou habilitar as funções nos botões: OnGotFocus Nil y OnLostFocus Nil, sugeridas pelo nobre professor Claudio Ricardo.

...
testando novamente...
...
MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

Claudio Ricardo wrote: Sun Jan 31, 2021 10:47 am El archivo " Prueba_Main.zip " que subi en el otro post puede servirte de ejemplo.
Perdão em incomodá-lo novamente... mas, qual post está este arquivo?
por favor, passa o link pra eu averiguar, baixar, testar e analisar!..
MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

mais uma observação que percebi...
com o acréscimo das funções ONLOSTFOCUS, apareceram na lista de erros (destaque em vermelho) outras linhas no sistema, que antes não apareceriam.
Confiram, na imagem abaixo:
21-0131 - ERRO TELA NOVAMENTE-3 agora foi diferente.png
21-0131 - ERRO TELA NOVAMENTE-3 agora foi diferente.png (51.13 KiB) Viewed 2984 times
vamos ao conteúdo das linhas:
1)↓↓ Called from MAIN(1558) ↓↓

Code: Select all

MCI10998(TECLAS,SALVA_COR)
- todos já sabemos e postamos aqui os conteúdos dessa função...
2)↓↓ Called from MCI10998(4976) ↓↓

Code: Select all

ACTIVATE WINDOW Form_Main
- todos já sabemos também dessa parte do erro...
3)↓↓ Called from (b)MCI10998(4853) ↓↓ novidade será?:

Code: Select all

ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10006 ()})}
4)↓↓ Called from EXECUTA_PROGRAMA(2775) ↓↓ nada de novo rsrsrsrs

Code: Select all

eval (PROGRAMA)
5)↓↓ Called from PCI10006(209) ↓↓

Code: Select all

TRATA_CAMPOS ()
essa linha pertence a um módulo 100% CUI com apenas 3 botões gráficos da WVG (grava, desiste, exclui). não vejo nada de novo, mas, vamos à função TRATACAMPOS():
6)↓↓ Called from TRATA_CAMPOS(844) ↓↓

Code: Select all

     read
De todas as linhas acima, não vi nada demais. Tudo normal. Ou seja, mesmo com aparentemente mais erros, mas, não vi erro que pudesse travar o sistema.

Agora, as linhas abaixo, que fazem parte do erro, a meu ver são do compilador CLIPPER/HARBOUR e suas funções internas que de nada entendo (não sendo nada relacionado à parte gráfica LIB GUI HMG ou da WVG:

Code: Select all

Called from EVENTPROCESS(137)
Called from INKEY(0)
Called from HBGETLIST:READER(0)
Called from HBGETLIST:READMODAL(0)
Called from READMODAL(0)
Called from (b)EVAL(4853)
já as linhas abaixo, são do compilador da HMG e não vejo ligação específica com o compilador CLIPPER/HARBOUR original:

Code: Select all

Called from _DOCONTROLEVENTPROCEDURE(6033)
Called from EVENTS(1794)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
1) Enfim, vou eliminar os botões pra ver se resolve. Se, sim, precisamos achar um local apropriado para eles e que não mais gerem os erros, ou:
2) Conseguir uma forma de encerrar a tela PRETA CONSOLE, toda vez que voltar o foco para o FORM WINDOW MAIN, ou:
3) testar o MT (que não sei como fazer) para ver se conseguimos algum progresso.
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by Claudio Ricardo »

Hola... Ese programa " Utiles " que subi tenia la mitad de funciones y lo hice en Cli**er hace como 20 años.
Hace un tiempo quise hacerlo mixto ( console + GUI ) y solo conseguía error tras error :(
Por eso lo reescribi desde cero, conservando solo partes de algunas funciones y agregandole muchas mas.
Funciona perfecto asi y puedo añadirle las que quiera facilmente, nunca más intenté hacer un " mixto "
perdi más tiempo en ese intento que en reescribirlo nuevo.
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by Claudio Ricardo »

Estos son los link:
viewtopic.php?p=64965#p64965
dentro de ese post, mas abajo esta el otro.
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
User avatar
Claudio Ricardo
Posts: 367
Joined: Tue Oct 27, 2020 3:38 am
DBs Used: DBF, MySQL, MariaDB
Location: Bs. As. - Argentina

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by Claudio Ricardo »

Comentario aparte pero para tener en cuenta:
Los archivos .fmg agrupan todos los controles de cada ventana por separado evitando conflictos
y simplificando el .prg El IDE los crea automáticamente al crear el form.
Es mucho mas facil y menos engorroso, desde el .prg llamar una ventana con:

Load Window Clientes
Clientes. Center // o con SetProperty () darle las coordenadas Row y Col que deseamos.
Clientes. Activate

Donde " Clientes " es Clientes.fmg que contiene la ventana y todos sus controles.
Que escribir todo dentro del .prg haciendolo largo y dificil de encontrar errores en el.
También dividir el programa en modulos ayuda a depurarlos y ademas poder reutilizarlos
en otro programa a futuro.
Corrige al sabio y lo harás más sabio, Corrige al necio y lo harás tu enemigo.
WhatsApp / Telegram: +54 911-63016162
MICROVOLUTION
Posts: 146
Joined: Sat May 30, 2015 5:15 am

Re: HMG 3.5 - ERROR BASE 1449 ERRO DE SINTAXE "&"

Post by MICROVOLUTION »

infelizmente, todas as tentativas até agora foram frustradas. os erros continuam.
Me resta agora, atentar separar os FORMs dos .PRGs e levá-los para dentro de um FMG e ver se a gente resolve.
a versão do sistema está em 3.7.1., vou fazer uma cópia e chamar de 3.7.2 e ali fazer as alterações dos .PRG e criar os .FMG...
vamos ver... os resultados ainda hoje (talvez) rsrsrsrs !!!
Claudio Ricardo wrote: Sun Jan 31, 2021 3:02 pm Es mucho mas facil y menos engorroso, desde el .prg llamar una ventana con:
já pensei nisso, mas, nossa linguagem clipper ganhou uma sobrevida com o harbour e ainda deu mais uma sobrevida aos 48 minutos do segundo tempo da partida final, com a HMG, FIVEWIN, HWGUI, HMEE...
mas, o mundo está migrando todo para MOBILE. Até mesmo WEB na minha opinião (computador) está ficando para trás.
Se os mantenedores, apoiadores, colaboradores, desenvolvedores de todas as LIBs grátis oriundas do HARBOUR, tais como: HWGUI, GTWVG, GTWVW, HMG, HMGE, etc, não se unirem, para criar um compilador/linkeditor MULTI PLATAFORMA como é no DELPHI EMBARCADERO 10.3.3, vamos finalmente morrer perto do porto.
A assistência a Microsoft para win32, deve encerrar em breve. Até a PLAY STORE (GOOGLE PLAY) já não está aceitando mais SUBIR Apps para lá sendo em 32bits, somente em 64bits.
Enfim, estamos num mato sem cachorro.

voltando aqui...
Pelo que estou percebendo, nem removendo os BOTÕES de todas as suas chamadas resolveu.
Vou colocar aqui, um arquivo .ZIP que um parceiro de outro fórum (PCTOLEDO) desenvolveu para que a partir de um modo gráfico (100% FORM HMG) se chame uma JANELA CONSOLE GTWVG e ela se encerra totalmente, após o uso.
Mas, não consegui ver qual parte faz esse encerramento definitivo.
Se alguns dos nobres professores conseguir desvendar o mistério, favor me mostrar pra eu tentar uma "última tentativa" antes da "penúltima" que é a criação dos FORMS .FMG.
HMG_WVG_2.7z
HMG abrindo WVG e fecha ao final
(1.3 MiB) Downloaded 120 times
Post Reply