marcosgambeta/HWGUI

Error hcontrol

Closed this issue · 6 comments

Estou com esse erro abaixo em outra tela, vou tentar reproduzir um exemplo.

Error BASE/1081 Erro nos parƒmetros: +
Called from source\hcontrol.prg->HCONTROL:INIT(141)
Called from source\hcontrol.prg->HSTATIC:INIT(683)
Called from source\hstaticex.prg->HSTATICEX:INIT(123)
Called from source\guimain.prg->HWG_INITCONTROLS(73)
Called from source\hdialog.prg->INITMODALDLG(466)
Called from source\hdialog.prg->HDIALOG:ONEVENT(311)
Called from source\hdialog.prg->HWG_CREATEDLGINDIRECT(0)
Called from source\hdialog.prg->HDIALOG:ACTIVATE(151)
Called from source\SygFinanceiro\oSygFinanceiro.prg->OSYGFINANCEIRO:UILISTACONTAS(1129)
Called from source\sagi.prg->(b)MAIN(1076)
Called from source\hwindow.prg->ONCOMMAND(1200)
Called from source\hwindow.prg->HMAINWINDOW:ONEVENT(541)
Called from source\hwindow.prg->HWG_ACTIVATEMDIWINDOW(0)
Called from source\hwindow.prg->HMAINWINDOW:ACTIVATE(396)
Called from source\sagi.prg->MAIN(1702)

Esse caso relatei a linha errada, estava desatualizado, vou recompilar e, postar o erro novamente na linha certa.

Parte do código que da o erro:
@ 515,019 GET oNOM VAR cNOM SIZE oGroup1:nWidth-1000,24 PICTURE eMascGen MAXLENGTH 100;
TOOLTIP 'Selecione o campo a esquerda e digite aqui o que deseja buscar'
oNOM:Anchor := 11

@ oNOM:nLeft+oNOM:nWidth+05,022 SAY oLabel7 CAPTION 'CNPJ/CPF:' SIZE 20,21;oLabel7:Anchor:=8

Quando chega na linha do Say CAPTION 'CNPJ/CPF:' ele pega os dados de posição do GET anterior para ir montando a tela, vou tentar reproduzir o erro no a.prg da pasta samples

Erro na linha certa:
Error BASE/1081 Erro nos parƒmetros: +
Called from source\hcontrol.prg->HCONTROL:INIT(136)
Called from source\hcontrol.prg->HSTATIC:INIT(657)
Called from source\hstaticex.prg->HSTATICEX:INIT(123)
Called from source\guimain.prg->HWG_INITCONTROLS(73)
Called from source\hdialog.prg->INITMODALDLG(466)
Called from source\hdialog.prg->HDIALOG:ONEVENT(311)
Called from source\hdialog.prg->HWG_CREATEDLGINDIRECT(0)
Called from source\hdialog.prg->HDIALOG:ACTIVATE(151)
Called from source\SygFinanceiro\oSygFinanceiro.prg->OSYGFINANCEIRO:UILISTACONTAS(1129)
Called from source\sagi.prg->(b)MAIN(1076)
Called from source\hwindow.prg->ONCOMMAND(1208)
Called from source\hwindow.prg->HMAINWINDOW:ONEVENT(541)
Called from source\hwindow.prg->HWG_ACTIVATEMDIWINDOW(0)
Called from source\hwindow.prg->HMAINWINDOW:ACTIVATE(396)
Called from source\sagi.prg->MAIN(1702)

O erro que acontece não consigo simular no a.prg, então tentei identificar colocando uns MSGINFO() antes da linha 137 do HCONTROL.PRG e consegui achar como chega o erro veja, se consegue me ajudar.

Hcontrol.prg original
image

Hcontrol.prg com minha validação:
image

Veja a mensagem antes do erro, por que em algum momento ::nLeft chega NIL
image

Embora não tenha conseguido reproduzir o erro aqui, encontrei uma situação suspeita na classe HStaticEx (note que ela é listada na mensagem de erro). Agora é preciso que você atualize e teste para confirmar ou não minha suspeita.
b6020fa

vou testar

Testado e resolveu, testei 3x vez, deletei meu HCONTROL.PRG para descartar minhas alterações e deu certo, você matou a charada.
Esse ajuste que fez, me abriu o caminho para eu tentar mexer no outro problema que tenho do AUTOZISE, vou ver se consigo resolver e comento no outro post.