ops... recapitulando o que fiz então:
- alterei as linhas conforme sugerido e etendi;
- compilei a lib com BUILDLIB32.BAT;
- apresentou aquelas mensagens (não sei se são de erro);
- recompilei meu sistema via IDE/HMG como 32bits;
apresentaram novos erros:
Code: Select all
Date:04/02/2021 Time: 11:10:27
Error BASE/1070 Erro nos parƒmetros: ==
Called from _HMG_ONKEY_ONMOUSE_CONTROLS(259)
Called from EVENTPROCESS(163)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
Called from MCI10998_HMG(7416)
Called from MAIN(1650)
pra mim, é a mesma coisa, só mudou de lugar:
agora saiu da EVENTPROCESS e foi para _HMG_ONKEY_ONMOUSE_CONTROLS.
estou procurando em todos os arquivos da HMG pra saber em qual deles está essa função...
um momento...
achei:
essa função pertence ao arquivo:
c:\hmg.3.5\source\h_winApiMisc.prg.
como é pequena a função, vou compartilhá-la totalmente aqui para efeito de estudo e didático erro linha (259):
Code: Select all
FUNCTION _HMG_OnKey_OnMouse_Controls
LOCAL i:=0, k, nSubIndex1:=0, ret := NIL
IF ( EventIsKeyboardMessage() == .T. .OR. EventIsMouseMessage() == .T. ) .AND. EventIsHMGWindowsMessage() == .F.
FOR k = 1 TO HMG_LEN (_HMG_SYSDATA [3])
259 IF HMG_CompareHandle (_HMG_SYSDATA [3] [k], EventHWND(), @nSubIndex1) == .T.
i := k
EXIT
ENDIF
NEXT
IF i > 0 .AND. EventIsKeyboardMessage() == .T.
IF ValType ( _HMG_SYSDATA [41] [i] [1]) == "B"
HMG_GetOnKeyControlIndex (NIL, i, nSubIndex1)
ret := EVAL ( _HMG_SYSDATA [41] [i] [1]) // OnKey Event
ENDIF
ENDIF
IF i > 0 .AND. EventIsMouseMessage() == .T.
IF ValType ( _HMG_SYSDATA [41] [i] [2]) == "B"
HMG_GetOnMouseControlIndex (NIL, i, nSubIndex1)
ret := EVAL ( _HMG_SYSDATA [41] [i] [2]) // OnMouse Event
ENDIF
ENDIF
HMG_GetOnKeyControlIndex (NIL, 0, 0)
HMG_GetOnMouseControlIndex (NIL, 0, 0)
ENDIF
RETURN ret
a linha 259 do erro, é:
Code: Select all
259 IF HMG_CompareHandle (_HMG_SYSDATA [3] [k], EventHWND(), @nSubIndex1) == .T.
Só pra efeito didático e sem alterar nada, EXECUTEI (sem compilar de novo. só executei mesmo o .EXE) meu sistema novamente e deu o erro novamente noutro lugar EVENTPROCESS(126):
Code: Select all
Date:04/02/2021 Time: 11:21:58
Error BASE/1070 Erro nos parƒmetros: ==
Called from EVENTPROCESS(126)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
Called from MCI10998_HMG(7416)
Called from MAIN(1650)
a linha 126 pertence ao trecho abaixo do arquivo h_EventCB.prg:
Code: Select all
lProcessMessage := .F.
IF EventProcessAllHookMessage (nIndex) == .T.
lProcessMessage := .T.
126 ELSEIF EventProcessHMGWindowsMessage (nIndex) == .T. .AND. IsHMGWindowsMessage == .T.
lProcessMessage := .T.
ELSEIF EventProcessKeyboardMessage (nIndex) == .T. .AND. IsKeyboardMessage == .T.
lProcessMessage := .T.
ELSEIF EventProcessMouseMessage (nIndex) == .T. .AND. IsMouseMessage == .T.
lProcessMessage := .T.
ENDIF
linha 126 acima, repetindo é:
Code: Select all
126 ELSEIF EventProcessHMGWindowsMessage (nIndex) == .T. .AND. IsHMGWindowsMessage == .T.
resolvi ser teimoso e EXECUTEI novamente o .EXE do sistema e o erro foi na linha (161) do h_eventcb.prg:
Code: Select all
Date:04/02/2021 Time: 11:35:01
Error BASE/1449 Erro de sintaxe: &
Called from EVENTPROCESS(161)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
Called from MCI10998_HMG(7416)
Called from MAIN(1650)
linha 161 acima pertence ao código:
Code: Select all
// IF ValType( _HMG_EventPROCNAME ) <> "C" // original modificada pela abaixo, segundo orientação do Dr.Claudio Soto para:
IF ValType( _HMG_EventPROCNAME ) == "B" // funcionar WINDOW MAIN HMG com CONSOLE WVG juntos 4/3/21w
Ret := Eval( _HMG_EventPROCNAME ) // is codeblock
// ELSE // original modificada pela abaixo, segundo orientação do Dr.Claudio Soto para:
ELSEIF ValType( _HMG_EventPROCNAME ) == "C"// funcionar WINDOW MAIN HMG com CONSOLE WVG juntos 4/3/21w
cProcName := _HMG_EventPROCNAME
IF hb_URight(cProcName, 1) <> ")"
161 Ret := &cProcName()
ELSE
Ret := &cProcName
ENDIF
ENDIF
A linha que contém o erro é:
bom, executei novamente, e o erro foi na linha (126) novamente...
executei o .EXE de novo, e, agora o erro foi na linha (126):
Code: Select all
Date:04/02/2021 Time: 11:46:38
Error BASE/1070 Erro nos parƒmetros: ==
Called from EVENTPROCESS(124)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
Called from MCI10998_HMG(7416)
Called from MAIN(1650)
a linha (124) é:
Code: Select all
lProcessMessage := .F.
124 IF EventProcessAllHookMessage (nIndex) == .T.
lProcessMessage := .T.
126 ELSEIF EventProcessHMGWindowsMessage (nIndex) == .T. .AND. IsHMGWindowsMessage == .T.
lProcessMessage := .T.
128 ELSEIF EventProcessKeyboardMessage (nIndex) == .T. .AND. IsKeyboardMessage == .T.
lProcessMessage := .T.
130 ELSEIF EventProcessMouseMessage (nIndex) == .T. .AND. IsMouseMessage == .T.
lProcessMessage := .T.
ENDIF
bom, no meu pouco conhecimento e vendo os erros se repetirem e finalizando nestes lugares, entendo, que não é na finalização e sim no _ACTIVEWINDOW(5694)
ENTÃO, executei novamente o .EXE e o erro foi agora na linha:
Code: Select all
Date:04/02/2021 Time: 11:56:17
Error BASE/1070 Erro nos parƒmetros: ==
Called from EVENTPROCESS(130)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5694)
Called from MCI10998_HMG(7416)
Called from MAIN(1650)
Erro da linha (130) está acima:
Code: Select all
130 ELSEIF EventProcessMouseMessage (nIndex) == .T. .AND. IsMouseMessage == .T.
Bom, vou postar novamente aqui o meu FORM_MAIN, que possível causador do erro (FORM_MAIN.FMG):
Code: Select all
DEFINE WINDOW Form_Main ;
AT 0,0 ;
WIDTH GetDesktopWidth() HEIGHT GetDesktopHeight() ;
TITLE PROCNAME() + SPACE(2) +'|' + SPACE(2) + DESC_SIST + SPACE(2) ;
NOMAXIMIZE;
NOSIZE;
ICON "AppIcon" ;
BACKCOLOR iif (lTEMA,"DarkGrey","RGB292540") ;
ON INIT MCI10000_hmg () ;
ON INTERACTIVECLOSE form_oninteractiveclose (win_ansitooem('Ops! Você Clicou no botão <X> da Janela.') + hb_eol() + win_ansitooem('Talvez Perderá Tudo que Não Está Concluído!!!') + hb_eol() + hb_eol() + win_ansitooem('Deseja Realmente Sair do Sistema'), 'Sistema 3.7 - Fechar Programa - Tome Cuidado!') ;
MAIN
DEFINE BUTTON BUTTON_1
// parent FORM_MAIN
ROW 30
// COL GetDesktopRealWidth() / 2 - 150 // ; 500
COL GetDesktopWidth() / 2 - 150 // ; 500
WIDTH 150
HEIGHT 100
CAPTION 'CLIENTES'
TOOLTIP "Clique aqui para entrar ou cadastrar novo(a) cliente !"
PICTURE "BTCLIENTE"
ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10006 ()})}
OnGotFocus Nil
OnLostFocus Nil
END BUTTON
DEFINE BUTTON BUTTON_1A
// parent FORM_MAIN
ROW 30
// COL GetDesktopRealWidth() / 2 - 00 // ; 500
COL GetDesktopWidth() / 2 - 00 // ; 500
WIDTH 150
HEIGHT 100
CAPTION win_ansiToOem('PRESTAÇÕES ANTIGAS')
TOOLTIP win_ansiToOem("Clique aqui para entrar em Prestações Antigas")
PICTURE "BTPREST"
ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10003 ()})}
OnGotFocus Nil
OnLostFocus Nil
END BUTTON
DEFINE BUTTON BUTTON_2
// parent FORM_MAIN
ROW 130
// COL GetDesktopRealWidth() / 2 - 150 // ; 500 // ESTAVA 700 e invertido com o BUTTON_4
COL GetDesktopWidth() / 2 - 150 // ; 500 // ESTAVA 700 e invertido com o BUTTON_4
WIDTH 100
HEIGHT 100
// CAPTION HB_ANSITOOEM('ORÇAMENTO') // harbour 3.2 6/1/21w
// TOOLTIP hb_ansitooem("Clique aqui para fazer um novo orçamento !") // harbour 3.2 6/1/21w
CAPTION win_ANSITOOEM('ORÇAMENTO') // harbour 3.4 6/1/21w
TOOLTIP win_ansitooem("Clique aqui para fazer um novo orçamento !") // harbour 3.4 6/1/21w
PICTURE "BTORCAMENTO"
ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10001 ()})}
// ONCLICK F_Win_Frame( "PCI10001", { || PCI10001() } )
OnGotFocus Nil
OnLostFocus Nil
END BUTTON
DEFINE BUTTON BUTTON_3
// parent FORM_MAIN
ROW 130
// COL GetDesktopRealWidth() / 2 - 50 // 600
COL GetDesktopWidth() / 2 - 50 // 600
WIDTH 100
HEIGHT 100
CAPTION 'EXTRATO'
TOOLTIP "Extrato Por Cliente"
PICTURE "BTEXTRATO"
ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10227 ()})}
OnGotFocus Nil
OnLostFocus Nil
END BUTTON
DEFINE BUTTON BUTTON_4
// parent FORM_MAIN
ROW 130
// COL GetDesktopRealWidth() / 2 + 50 // 700 // era 500 e estava invertido com o BUTTON_2
COL GetDesktopWidth() / 2 + 50 // 700 // era 500 e estava invertido com o BUTTON_2
WIDTH 100
HEIGHT 100
CAPTION 'BAIXAR'
TOOLTIP win_ansitooem("Clique aqui para baixar uma prestação !") // harbour 3.4 6/1/21w
PICTURE "BTBAIXAR"
ONCLICK { || EXECUTA_PROGRAMA ({|| PCI10013 ()})}
BACKCOLOR "RGB292540"
OnGotFocus Nil
OnLostFocus Nil
END BUTTON
DEFINE STATUSBAR
STATUSITEM win_ansiToOem("(c) 1998-2021 Sistemas | by microvolution - Versão 3.7.1 (beta)" )
CLOCK
DATE
END STATUSBAR
END WINDOW