Compilei HBMAKE -> ENTER sai Fora, ESC entra ? :(

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Compilei HBMAKE -> ENTER sai Fora, ESC entra ? :(

Mensagem por fladimir »

Olá Pessoal, td bem, com ajuda de colegas do fórum consegui compilar meu sistema, mas qdo vou entrar nele, ele tem uma rotina para confirmar a Data do Sistema e a Hora, mas se vc Teclar ENTER ele Sai FORA... e com ESC ele entra normal....

Coloquei um ALTD() uma linha antes do GET da Data e da Hora e através do Debug acusou, se executo passo a passo (F8), no READ ele entra numa Função chamada GETSYS.PRG q nunca alterei, e cai no ERRORBLOCK...

Pesquisando no Fórum achei um problema semelhante do colega q disse q era só tirar um CLEAR MEMORY q ele utilizava antes dos Gets e Read... Mas eu não utilizo o Clear Memory... o q pode ser?

Se eu utilizo o ESC na data e hora ele entra no sistema e trabalha aparentemente normal...

Digo isto pq no menu qdo estava em uma determinada opção ele tinha uma cor destacando e agora não consigo saber aonde estou, a não ser pelo q vai mostrando na barra de mensagens... e se entro em uma rotina de cadastro ou alteração qdo teclo ENTER ele sai fora, exatamente como na DATA e na Hora do início... vou postar abaixo o trecho do código em q ele solicita a DATA e a a HORA:

Código: Selecionar todos

 ALTD()

@06,10 SAY "Informe a Data Corrente:" GET dDtCorrent VALID  Analisa("Por Favor Informe a Data Corrente", {|| !EMPTY(dDtCorrent)})

@08,10 SAY "Informe a Hora Atual.....:" GET cHoraAtual PICTURE "99:99" VALID Analisa("Por Favor Informe a Hora Atual.",{|| !EMPTY(cHoraAtual)})

READ 
Aparentemente não vejo problema... alguém poderia me ajudar ?

Outra coisa... percebi q o xHarbour pelo menos com relação a uma função q utilizo é Case Sensitive... alguém sabe dizer em que casos... se sempre... como funciona ?

Valeu, :)Pos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, não entendio se ele tem ou não que entrar...Bom fiz um teste rapido aqui.......

Código: Selecionar todos

dDtCorrent=date()
cHoraAtual=time()
@06,10 SAY "Informe a Data Corrente:"   GET dDtCorrent VALID !EMPTY(dDtCorrent)
@08,10 SAY "Informe a Hora Atual.....:" GET cHoraAtual PICTURE "99:99" VALID !EMPTY(cHoraAtual)
READ
Post essa função analisa()....ou faça como postei acima....
Outra coisa... percebi q o xHarbour pelo menos com relação a uma função q utilizo é Case Sensitive... alguém sabe dizer em que casos... se sempre... como funciona ?
Tche, não sei lhe explicar como ele funcionar exatamente.......mas sei que em LINUX ele faz referencias em Case Sensitive...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

E aí Leonardo, blz, obrigado pela sua atenção... pois é fiz exatamente como vc passou no exemplo retirei minha função de validação q a única coisa q ela faz de diferente além de algumas checagens é mostrar um mensagem na barra de mensagens... mas mesmo assim fiz do jeito simples q estamos acostumados no clipper e deu o mesmo erro se eu pressiono ENTER ele sai fora e se pressiono ESC ele entra no sistema....

veja como ficou a rotina agora e continua com o mesmo ERRO

Código: Selecionar todos

ALTD()

//@06,10 SAY "Informe a Data Corrente:" GET dDtCorrent VALID  //Analisa("Por Favor Informe a Data Corrente", {|| !EMPTY(dDtCorrent)})

//@08,10 SAY "Informe a Hora Atual.....:" GET cHoraAtual PICTURE //"99:99" VALID Analisa("Por Favor Informe a Hora Atual.",{|| //!EMPTY(cHoraAtual)})

//READ

dDtCorrent=date()
cHoraAtual=time()
@06,10 SAY "Informe a Data Corrente:"   GET dDtCorrent VALID !EMPTY(dDtCorrent)
@08,10 SAY "Informe a Hora Atual.....:" GET cHoraAtual PICTURE "99:99" VALID !EMPTY(cHoraAtual)
READ
Obrigado a todos.... O Mistério Continua....
:-o

P.S.: Pode ser algo com os meus includes ? mantive como no Clipper apenas:

Código: Selecionar todos

#include "inkey.ch"
#include "sisger.ch"
#Define LF CHR(13)+CHR(10)
Ou devo acrescentar mais algum?
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

eu pressiono ENTER ele sai fora
Tche, como assim....ele sai fora da validação ou sai fora do sistema ?

Código: Selecionar todos

dDtCorrent=date()
cHoraAtual=time()
@06,10 SAY "Informe a Data Corrente:"   GET dDtCorrent VALID !EMPTY(dDtCorrent)
@08,10 SAY "Informe a Hora Atual.....:" GET cHoraAtual PICTURE "99:99" VALID !EMPTY(cHoraAtual)
READ

IF LASTKEY()=27
   RETURN
ENDIF

IF EMPTY(dDtCorrent) .OR. EMPTY(cHoraAtual)
   RETURN
ENDIF
Tche, é uma questão de logica...de uma olhada abaixo....
P.S.: Pode ser algo com os meus includes ? mantive como no Clipper apenas:
Não acredito que seja nos INCLUDE
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
enfosoft
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 17 Mai 2007 08:15
Localização: Rio Grande do sul

Re: Compilei HBMAKE -> ENTER sai Fora, ESC entra ? :(

Mensagem por enfosoft »

fladimir escreveu:Outra coisa... percebi q o xHarbour pelo menos com relação a uma função q utilizo é Case Sensitive... alguém sabe dizer em que casos... se sempre... como funciona ?
Uso xharbour com linux e nao tive problemas de Case Sensitive com nomes de variaveis e funcoes, Apenas com nomes de arquivos.

Abracos
Enio
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

Ele sai do sistema e se olho passo a passo no Debug ele após o Read, independente, de ser do tipo antigo ou agora com as sugestões do colega ele entra no GETSYS.PRG e vai indo até q sai do sistema.

Abaixo vemos exatamente qdo o sistema entra no READ ele vai para a função GETSYS.PRG (repito antes no clipper não alterei o GETSYS e nem agora)

Código: Selecionar todos

╔[■]════════════════════ GETSYS.PRG════════════════════╗
║6: STATIC vsVar                                                    ║
║7: STATIC nsNum                                                  ║
║8: STATIC csStr                                                     ║
║9: STATIC nsNum1                                                 ║
║10:                                                                        ║
║11: /* ------ Rescue5 1.00 (c) APTware 1993,94 ------║
║12:    Name: READMODAL                                       ║
║13:    Params: _Def, _Def1                                     ║
║14:    Return: Logical                                              ║
║15:   Example: READMODAL(_Def, _Def1)                ║
║16:   ....................................................................║
║17: */                                                                    ║
║18:                                                                         ║
║19: FUNCTION READMODAL(_Def, _Def1)                   ║
║20:                                                                           ║
║21:    LOCAL oObj, _Def2                                           ║
╚════════════════════════════════════════╝
Ok fui executando passo a passo pelo DEBUG (F8) até q ele fica esperando q eu pressione algo... Lembrando q se eu pressionar ESC ele considera como a data atual e hora atual (baseado no código original) e entra num Do While (q é o Menu)...

Mas exatamente após o pressionar ENTER (ele sai fora do sistema) e o erro ocorre dentro do GETSYS... Isso eu acompanhando pelo Debug Passo a Passo e o Erro ocorre exatamente qdo vai executar esta linha do GETSYS (capturei do Debug - Linha 517 do GETSYS):

Código: Selecionar todos

517:       oObj:UPDATEBUFF()
Aí ele vai direto desta linha acima para o ERRORBLOCK

To Achando muito estranho isto....

Obrigado pelo esforço dos colegas em tentar ajudar.... Sucesso :xau
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

Oi eu tirei o Error Block e ele exibiu o caminho do erro:

Error BASE/1004 Message not found: GET:UPDATEBUFF

Error at ...: GETPOSTVAL(517) in Module: GETSYS.PRG
Called from : GET:MSGNOTFOUND(205) in Module: tobject.prg
Called from : GET:UPDATEBUFF(0) in Module: tobject.prg
Called from : GETPOSTVAL(517) in Module: GETSYS.PRG
Called from : GETREADER(686) in Module: GETSYS.PRG
Called from : READMODAL(56) in Module: GETSYS.PRG
Called from : MAIN(87) in Module: MENU.PRG


Vlw
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Mensagem por fladimir »

Resolvido.... vcs não vão acreditar..... qdo eu criei a pasta onde copiei meu sistema para migrar para xHarbour sem prejudicar o q já esta ok em Clipper eu copiei todos os PRG´s e no HBmake vc marca os PRG´s para compilar... até aí tudo ok... só q muito tempo atrás eu estava pensando em mudar o GETSYS e recompilar ele para mim... só q não o fiz eu só havia copiado o GETSYS.PRG do clipper para analise mas não mexi e ele ficou lá perdido entre os meus PRG´s e qdo eu compilava no HBMAKE ele estava perdido lá, qdo resolvi rever todo meus parametros do HBMAKE observando PRG por PRG vi o nome do Bendito GETSYS.PRG dai todo o problema... e no clipper não pois nos meus CLP´s não tem ele....

Minha sinceras desculpas por toda essa perda de tempo de vcs... agradeço os q dispensaram tempo para ajudar.....


:{
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, não esquenta isso acontece.......o bom é que vc resolveu e não disistiu.....e sempre ajude o proximo e nunca deixe de fazer uma busca no forum antes de postar......

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder