Página 1 de 1
Compilei HBMAKE -> ENTER sai Fora, ESC entra ? :(
Enviado: 18 Jun 2007 04:55
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
Enviado: 18 Jun 2007 11:14
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
Enviado: 18 Jun 2007 11:54
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....
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?
Enviado: 18 Jun 2007 12:52
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
Re: Compilei HBMAKE -> ENTER sai Fora, ESC entra ? :(
Enviado: 18 Jun 2007 13:10
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
Enviado: 18 Jun 2007 13:14
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):
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
Enviado: 18 Jun 2007 15:43
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
Enviado: 18 Jun 2007 16:34
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.....
:{
Enviado: 18 Jun 2007 18:09
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