Page 1 of 1
Antonio, comportamiento mui estranho
Posted: Thu Oct 04, 2007 9:34 pm
by laugusto
Antonio, tengo esta linea
// Pesquisa o Cliente
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag |;
IF( nKey = VK_RETURN,( lRet := .f., IF( !Empty( rcgc ),;
Scv20221( oWnd, aButtons ),;
Scv20203( oWnd, aButtons, oFld, m->oClieDbf, 2 ) ) ),;
IF( nKey = VK_ESCAPE,( Muda_St( oWnd, oClient, oFld )), nil ))}
oCgc:cTooltip := "Informe CPF para Cliente pessoa Fisica " + CRLF +;
"Informe CNPJ para Cliente pessoa Juridica" + CRLF +;
"Não Use Pontos Ou Traços."
que compilado com FWH701 + HARBOUR funciona mui buena. Ao compilar com FWH707 + HARBOUR no reconece el contenido de la variable rcgc, mesmo se digitado ALGO la mostra VACIA, que pasa que al cambiar de version las cosas que funcionabam mui bien param de funcionar??
gracias por su respuesta a questão,
Luiz Augusto
São José dos Pinhais - PR
Brasil
Posted: Thu Oct 04, 2007 11:48 pm
by Antonio Linares
Luiz,
Pruébalo sin el PICTURE:
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE
La clase Get de Harbour ha cambiado y puede ser que de ahí venga la diferencia
Posted: Fri Oct 05, 2007 1:51 pm
by laugusto
Antonio,
Gracias por su respuesta, retirei la clausula PICTURE e no corre, continua el problema, atualize mis clientes e tive que volver a la version que usaba( FWH701) que corre mui bien.
saludos,
Posted: Fri Oct 05, 2007 6:17 pm
by Antonio Linares
Luiz,
Prueba esto:
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag | If( nKey = VK_RETURN, MsgInfo( rcgc ),) }
y pulsa enter y comprueba que tienes en la variable. Puedes probar tambien así:
ocgc:bKeyDown := { | nKey, nFlag | If( nKey = VK_RETURN, MsgInfo( AllTrim( ocgc:GetText() ) ),) }
Posted: Fri Oct 05, 2007 8:24 pm
by laugusto
Antonio,
Lo que pasa, és que mesmo digitando o numero com 11 posições, msginfo mostra uma mensagem VACIA, é como se eu não digitasse nada.
la imagem mostra bien lo que pasa.
Gracias el adelantado.
Saludos desde Brasil,
Posted: Fri Oct 05, 2007 8:30 pm
by karinha
LUIZ, LEVE O OBJETO PARA UMA FUNCAO, DENTRO DOS PARENTESES DO VALID(), PARA A MENSAGEM. IRÁ FUNCIONAR.
RETURN .T. OU .F.
Posted: Fri Oct 05, 2007 8:49 pm
by laugusto
Antonio,
Desta maneira,
Code: Select all
// Pesquisa o Cliente
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE //PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag | If( nKey = VK_RETURN, MsgInfo( rcgc ),) }
mostra a variavel em branco, conforme figura anterior.
Desta maneira,
Code: Select all
// Pesquisa o Cliente
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE //PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag | If( nKey = VK_RETURN, MsgInfo( AllTrim( ocgc:GetText() ) ),) }
mostra o que foi digitado no GET
Então, fiz a seguinte alteração:
Code: Select all
// Pesquisa o Cliente
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE //PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag |;
IF( nKey = VK_RETURN,( lRet := .f., IF( !Empty( Alltrim( ocgc:GetText() ) ),;
Scv20221( oWnd, aButtons ),;
Scv20203( oWnd, aButtons, oFld, m->oClieDbf, 2 ) ) ),;
IF( nKey = VK_ESCAPE,( Muda_St( oWnd, oClient, oFld )), nil ))}
oCgc:cTooltip := "Informe CPF para Cliente pessoa Fisica " + CRLF +;
"Informe CNPJ para Cliente pessoa Juridica" + CRLF +;
"Não Use Pontos Ou Traços."
Aceita a digitação, faz a pesquisa, mas o retorno da função é como se a variavel estivesse em branco.
João, agradeço pela sugestão, mas o GET tem que ser da maneira descrita pra evitar erros, se eu colocar um VALID a ação no GET não é a esperada. Vejam abaixo a tela com o resultado desta modificação. Outra coisa, o que não posso aceitar é que, se atualizar a versão, tiver que modificar todo meu código escrito, prefiro NÃO MUDAR.
Observe a mensagem na tela, é uma mensagem quando o campo esta em branco
Gracias en adelantado,
Saludos desde Brasil,
Posted: Fri Oct 05, 2007 9:01 pm
by Antonio Linares
Luiz,
Entonces usando oGet:GetText() te sirve, si ?
Posted: Fri Oct 05, 2007 9:47 pm
by laugusto
Antonio,
Serve, pero no mucho!
El comportamiento del GET és mui estranho, no es posible modificar todo el sistema.
oGet:GetText() mostra el contenido da VARIAVEL, pero es como se ainda estivesse VACIA. La mensagem, mira la segunda imagem, só é mostrada se a variavel estiver VACIA. Por favor, revisa las modificaciones.
Saludos desde Brasil,
Posted: Fri Oct 05, 2007 11:23 pm
by Antonio Linares
Luiz,
Prueba asi:
Code: Select all
REDEFINE GET ocgc Var rcgc ID 63 OF oFld:aDialogs[1] UPDATE //PICTURE "@!S18"
ocgc:bKeyDown := { | nKey, nFlag | ocgc:Assign(), ;
IF( nKey = VK_RETURN,( lRet := .f., IF( !Empty( rcgc ) ),;
Scv20221( oWnd, aButtons ),;
Scv20203( oWnd, aButtons, oFld, m->oClieDbf, 2 ) ) ),;
IF( nKey = VK_ESCAPE,( Muda_St( oWnd, oClient, oFld )), nil ))}
Posted: Sat Oct 06, 2007 12:53 am
by laugusto
Gracias Antonio, funciono de pronto!
Creo tener que modificar todos los GETs de mi sistema que funcionam con esta sintaxe. No existe um modo de modificar la classe que corrija este problema.
Saludos desde Brasil,
Posted: Sat Oct 06, 2007 6:20 am
by Antonio Linares
Luiz,
En vez de modificar el código de tu programa, prueba a modificar la clase así:
Code: Select all
METHOD KeyDown( nKey, nFlags ) CLASS TGet
...
if ::bKeyDown != nil
::Assign()
endif
do case
...
Antonio, Comportamiento mui estranho, Resolvido!
Posted: Sat Oct 06, 2007 4:14 pm
by laugusto
Gracias Antonio,
La ultima sugestão resolveu el problema que tenia en el GET.
Saludos desde Barsil,