Página 1 de 1
O que seria NUMERIC:___HOBJ
Enviado: 25 Ago 2017 10:11
por asimoes
Pessoal,
Alguém poderia explicar o que seria esse erro:
cRecordSet := oCommand:Execute()
__CarregaTemp( cRecordSet,nMaxLin,@cTemp,@cErro,lMem,lCriaNTX,lMarca,lCharL,@nContL ) // O ERRO ACONTECE NESSA LINHA

?
1005 Message not found
Operação: NUMERIC:___HOBJ
É um erro eventual, ainda não entendi em que situação acontece.
O que seria NUMERIC:___HOBJ
Enviado: 25 Ago 2017 14:43
por acelconsultoria
Olha... nunca vi esse erro... mas pela mensagem eu suspeitaria que, em algum momento ou local interno na função, ocorre um erro de tipo de variável/campo.
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 16:31
por Kapiaba
Mostre:
Acho que tem uma variável que não é numérica ou vice-versa.
Abs.
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 17:56
por JoséQuintas
1005 Message not found
Operação: NUMERIC:___HOBJ
A mensagem está esquisita, mas "Message not found" tem a ver com classe, e não existir o nome dentro da classe.
Apenas suposição:
Como a linha anterior se refere a obter um recordset, TALVEZ também possa ser tratamento de NULO pra uma variável numérica.
Explicaria o NUMERIC que aparece aí, mas é só suposição.
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 17:59
por asimoes
Kapiaba,
O erro era aleatório, todas as variáveis são verificadas antes de serem passadas para a função.
Eu não sei se tem haver, eu tenho uma função feita com hwgui para mostrar o processamento dessas funções, eu removi e aparentemente não aconteceu de novo o erro
A função em hwgui é essa:
Código: Selecionar todos
FUNCTION GDlg_Wait( cTitle, cMensagem_Wait, cArqVideo, nSizeW, nSizeH )
LOCAL oDlg_Wait
LOCAL oLabel_Wait
LOCAL oAnimation
LOCAL nSizeJanela
LOCAL nRowAnim
LOCAL nColText
LOCAL oIconWait :=HIcon():AddFile("P:\GERAL\HARBOUR\IAMPULHETA.ICO")
LOCAL lAutoPlay :=.T.
LOCAL lCenter :=.T.
LOCAL lTransparent:=.T.
LOCAL oFont
PRIVATE nJanelaAplicacao
hb_Default(@cArqVideo, "P:\GERAL\HARBOUR\AMPULHETA.AVI")
hb_Default(@nSizeW, 32)
hb_Default(@nSizeH, 32)
nSizeJanela := 90
nRowAnim := 15
nColText := 50
IF nSizeW = 62
nRowAnim := 0
nColText := 80
ENDIF
oFont := HFont():Add( "Lucida Console", 7)
INIT DIALOG oDlg_Wait TITLE cTitle ;
ICON oIconWait ;
AT 0, 0 ;
SIZE 370, nSizeJanela STYLE DS_CENTER + WS_VISIBLE
@ 10, nRowAnim ANIMATION oAnimation OF oDlg_Wait SIZE nSizeW, nSizeH AUTOPLAY CENTER TRANSPARENT FILE cArqVideo
@ nColText, 25 SAY oLabel_Wait CAPTION cMensagem_Wait FONT oFont SIZE 340, 19 COLOR hwg_RGB( 0, 0, 255 )
oDlg_Wait:Activate( .T. )
RETURN oDlg_Wait
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 18:16
por asimoes
Nessa chamada, o resultset tem muitos registro e dá aquela informação famosa do windows: está aplicação não está respondendo... quando faz o execute()
cRecordSet := oCommand:Execute()
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 18:21
por JoséQuintas
Pesquisando HOBJ
HMG3: TOleAuto() h_TOle.prg
HMGE: win32Ole
HWGUI: h_activex.prg
GTWVG: activex.prg
xhb (xHarbour): xhbole.prg
Em comum a todos: activex e/ou OLE
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 19:28
por gilbertosilverio
Simoes,
Você já tentou incluir um hwg_doevents() para ver se o erro para...
O que seria NUMERIC:___HOBJ
Enviado: 29 Ago 2017 21:10
por JoséQuintas
Ou o evento continua mesmo depois de fechar a janela e por isso dá erro?
O que seria NUMERIC:___HOBJ
Enviado: 30 Ago 2017 06:42
por asimoes
Como a função de mensagem de processamento tem uma mensagem e uma animação (ampulheta) eu uso no loop depois do Execute() o hwg_DoEvents()
O que percebi é que o erro ocorre na chamada da função __CarregaTemp( cRecordSet,nMaxLin,@cTemp,@cErro,lMem,lCriaNTX,lMarca,lCharL,@nContL ) que é chamado depois do Execute(), tenho a impressão que o evento do execute do ado command pela demora por ser muito grande, esteja provocando o erro.
Eu não sei se é também por conta da função de mensagem de processamento que está sendo usada dentro da __CarregaTemp que é um dbf temporário.