Antonio, comportamiento mui estranho

Post Reply
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Antonio, comportamiento mui estranho

Post 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
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Post 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,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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() ) ),) }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Post 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,


Image
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Post by karinha »

LUIZ, LEVE O OBJETO PARA UMA FUNCAO, DENTRO DOS PARENTESES DO VALID(), PARA A MENSAGEM. IRÁ FUNCIONAR.

RETURN .T. OU .F.
João Santos - São Paulo - Brasil
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Post 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
Image

Gracias en adelantado,

Saludos desde Brasil,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Luiz,

Entonces usando oGet:GetText() te sirve, si ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Post 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,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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 ))} 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Post 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,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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
...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
laugusto
Posts: 62
Joined: Fri Apr 28, 2006 4:06 pm

Antonio, Comportamiento mui estranho, Resolvido!

Post by laugusto »

Gracias Antonio,

La ultima sugestão resolveu el problema que tenia en el GET.

Saludos desde Barsil,
Luiz Augusto
São José dos Pinhais - PR
BRASIL
fwh + harbour + workshop + velhos bat´s
Post Reply