Clipper On Line • Ver Tópico - Erro inexplicatível criando janela
Mudar para estilo Clássico
Projeto Harbour - Compilador de código aberto compatível com o Clipper.
Postar uma resposta

Erro inexplicatível criando janela

16 Abr 2018 10:29

Este é um daqueles erros inexplicáveis....

Error BASE/1004 No exported method: NEW
Called from NEW(0)
Called from FAZBROWSE(125)
Called from JPCADAS1CLASS:GRIDSELECTION(111)
Called from PESQUISA(296)
Called from (b)APPINITSETS(44)
Called from GETDOSETKEY(462)
Called from GETAPPLYKEY(205)
Called from GETREADER(164)
Called from READMODAL(113)
Called from JPCADAS1CLASS:INTERVALO(873)
Called from PFINANRELRECEBER(177)
Called from DO(0)
Called from RUNMODULE(73)
Called from BOXMENU(762)
Called from BOXMENU(747)
Called from MENUPRINC(598)
Called from SISTEMA(93)
Called from (b)MAIN(32)


Error BASE/1004 No exported method: CREATE
Called from CREATE(0)
Called from FAZBROWSE(126)
Called from JPITEMCLASS:GRIDSELECTION(109)
Called from PESQUISA(445)
Called from (b)APPINITSETS(44)
Called from GETDOSETKEY(462)
Called from GETAPPLYKEY(205)
Called from GETREADER(164)
Called from READMODAL(113)
Called from INCALTITEM(984)
Called from DIGPED(891)
Called from (b)JPPEDICLASS_TELADADOS(762)
Called from DBVIEW(629)
Called from JPPEDICLASS:TELADADOS(762)
Called from JPPEDICLASS:EXECUTE(389)
Called from P0600PED(98)
Called from DO(0)
Called from RUNMODULE(73)
Called from BOXMENU(762)
Called from BOXMENU(747)
Called from MENUPRINC(598)
Called from SISTEMA(93)
Called from (b)MAIN(32)


O erro foi aqui:

Código:
   FOR nCont = nTop + 7 TO nBottom + 1
      oControl := wvgTstRectangle():New()
      oControl:Create( , , { -nCont, 0 }, { 1, -MaxCol() - 1 } )
      oControl:SetColorBG( WIN_RGB( 75, 75, 75 ) )
      AAdd( aTraceList, oControl )
   NEXT


Lembram? o grid no tbrowse.
É uma rotina única, para o aplicativo inteiro.
Teoricamente funcionou uma vez, funciona sempre.
Criar janela sobre janela...
SEMPRE existe uma janela em uso, então não é por falta de janela.
TODAS as janelas usam multithread, então não é por multithread.
O acesso é via terminal service... mas nesse cliente SEMPRE é por terminal service.

Isso é a tela de pedidos.
Tem o grid de pedidos, ok, que já tem os traços.
Ao teclar incluir, abre uma janela normal, e se teclar F9 no código do produto, aciona o grid de produtos, com os traços.
O erro ocorreu na montagem dos traços dos produtos.

Por mais que eu teste aqui, sempre funciona, não ocorre esse erro.

Possibilidades:
Algum erro na destruição dos elementos gráficos? deixando muita coisa pendente?
Não faço idéia, então só resta se acontecer novamente, eliminar de vez o grid e voltar o que estava antes.

Por isso meus testes são diretamente no aplicativo final do cliente.
E por isso não escondo erros no aplicativo.
E por isso envio erros por email, ninguém me falou sobre esse erro, veio por email.
Deve ser eventual, mas... aconteceu.

Bug Harbour? Bug WVG? Bug GUI Wndows? Bug no que o José criou?

Não sei, mas com certeza sem minha rotina de erros eu nem saberia que aconteceu o problema.

Só resta aguardar mais, e se acontecer de novo, eliminar os grids do aplicativo.

Mas a coisa vai além disso...
Se não houver explicação, melhor não acrescentar mais nada GUI.

Importante:
Se eu retirar minha rotina de erros, não vou saber do erro, e ninguém reclamou disso.
Então... antes de dizer que uma GUI é melhor ou pior, convém pensar se tem uma rotina de erros que registra tudo o que acontece.

Erro inexplicatível criando janela

16 Abr 2018 10:33

Faltou dizer:
Por enquanto só esses dois erros.
Um às 08:38 e outro as 09:41, com usuários diferentes e máquinas diferentes.

Erro inexplicatível criando janela

16 Abr 2018 14:01

Mais dois...

rror BASE/1068 Argument error: array access
Called from WVGTSTRECTANGLE:CREATECONTROL(1195)
Called from WVGTSTRECTANGLE:CREATE(525)
Called from DBVIEW(565)
Called from JPPEDICLASS:TELADADOS(656)
Called from JPPEDICLASS:EXECUTE(313)
Called from P0600PED(98)
Called from DO(0)
Called from RUNMODULE(73)
Called from BOXMENU(762)
Called from BOXMENU(747)
Called from MENUPRINC(598)
Called from SISTEMA(93)
Called from (b)MAIN(32)


Error BASE/1004 No exported method: ADDCHILD
Called from ADDCHILD(0)
Called from WVGTSTRECTANGLE:CREATE(523)
Called from DBVIEW(565)
Called from JPPEDICLASS:TELADADOS(656)
Called from JPPEDICLASS:EXECUTE(313)
Called from P0600PED(98)
Called from DO(0)
Called from RUNMODULE(73)
Called from BOXMENU(762)
Called from BOXMENU(747)
Called from MENUPRINC(598)
Called from SISTEMA(93)
Called from (b)MAIN(32)


Se fosse sempre no mesmo lugar ok, mas parece que o objeto está desaparecendo sozinho.
New()... não funcionar esquisito.
Faltar método Create(), só se tivesse faltado o New()
Faltar método AddChild(), só se tivesse faltado o New() e o Create()

Inexplicável.
É o fim do uso.

Erro inexplicatível criando janela

16 Abr 2018 14:45

Moster o RETURN do METODO porfa.

Erro inexplicatível criando janela

16 Abr 2018 16:39

Nois dois casos, New() e Create(), RETURN SELF

Erro inexplicatível criando janela

16 Abr 2018 19:56

Correção da informação:

Não são máquinas diferentes.
É via terminal service, então não são máquinas diferentes, são usuários diferentes.
Não sei se pode ter algo mais do Windows nisto.

Erro inexplicatível criando janela

31 Jan 2022 16:55

O erro que mencionei em outro tópico é antigo, quase 3 anos.

Erro inexplicatível criando janela

31 Jan 2022 21:43

Olá!
Pode ser problema com a memória corrompida do windows... Falha de hardware.
Ocorre com todos os clientes ?
Tá pegando esse erro ia na sua casa ?
Precisa simular o ambiente do cliente p/ isolar o problema.

Saudações,
Itamar M. Lins Jr.

Erro inexplicatível criando janela

31 Jan 2022 21:45

Olá!
Salva as teclas que o cliente pressiona para fazer a mesma coisa ai na sua maquina.
Esse erro não é problema com o Harbour.

Saudações,
Itamar M. Lins Jr.

Erro inexplicatível criando janela

01 Fev 2022 08:38

Olá,
Não consigo ver motivos para o problema, porém, como se comporta se rodar assim (método alternativo):
Código:
Expandir visualizacaoVer codigo
FOR nCont = nTop + 7 TO nBottom + 1
    AAdd( aTraceList, wvgTstRectangle():New() )
    oControl := Atail(aTraceList)
    oControl:Create( , , { -nCont, 0 }, { 1, -MaxCol() - 1 } )
    oControl:SetColorBG( WIN_RGB( 75, 75, 75 ) )
NEXT

O problema ainda ocorre?

Erro inexplicatível criando janela

01 Fev 2022 10:06

Finalmente você conseguiu ferrar com o seu harbour, hein.
Na minha opinião, você fez tantas alterações que seu harbour ficou instável e não confiável para qualquer análise de outros.
Uso harbour 3.2 com GTWVT há anos que nunca tive qualquer problema ou erro parecido, funciona como um relógio suíço.
Harbour 3.4 do Viktor? Nunca usei.
GTWVG? Nunca usei.
Multithread? Nunca usei (ainda não precisei).
Harbour 3.4 (multithread) com GUI (GTWVG) e console juntos, com alterações próprias, tá explicado a bagunça.

Sugestões:
1. Básico do básico.
Baixar o Harbour 3.4, não mexer em nada e testar o exemplo do SetFocus e postar o resultado, deu erro?
Se deu erro, blz, alguém pode tentar ajudar a resolver, se não, já achou a causa do problema.

2. Por mais que funcione a requisição de memória, por N motivos pode dar errado.

Código:
FOR nCont = nTop + 7 TO nBottom + 1
      oControl := wvgTstRectangle():New()
      oControl:Create( , , { -nCont, 0 }, { 1, -MaxCol() - 1 } )
      oControl:SetColorBG( WIN_RGB( 75, 75, 75 ) )
      AAdd( aTraceList, oControl )
NEXT


Se :New() falhar, o Control receberá NIL.
Não seria bom testar oControl antes de usá-lo?
Código:
FOR nCont = nTop + 7 TO nBottom + 1
      oControl := wvgTstRectangle():New()
      If oControl == NIL
         Exit
      Endif
      oControl:Create( , , { -nCont, 0 }, { 1, -MaxCol() - 1 } )
      oControl:SetColorBG( WIN_RGB( 75, 75, 75 ) )
      AAdd( aTraceList, oControl )
NEXT

Erro inexplicatível criando janela

01 Fev 2022 11:31

JorgeGoias escreveu:Finalmente você conseguiu ferrar com o seu harbour, hein.
Na minha opinião, você fez tantas alterações que seu harbour ficou instável e não confiável para qualquer análise de outros.


Falou sem nenhum conhecimento.
Basicamente cor no tbrowse, e agora removi as funções wOpen() e wClose() por serem suspeitas.

https://github.com/JoseQuintas/harbour34/commits/main

alteracao.png

Erro inexplicatível criando janela

01 Fev 2022 11:44

hb34.png


Uma variável pra cor das barras, e ajustes relacionados.

Correção sobre wOpen() e wClose(): não removi, renomeei para hbct_wOpen() e hbct_wClose()
Postar uma resposta