×
Linguagem de Programação ADVPL
Perguntas Variavel Publica
- vitor kwon
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 13
- Obrigados Recebidos: 0
10 anos 2 meses atrás #25691
por vitor kwon
Variavel Publica foi criado por vitor kwon
bom dia pessoal, estou com um problema e se possivel gostaria que compartilhassem da Vsa Sabedoria!!!...sou iniciante no ADVPL
Problema e o seguinte:
Tenho uma rotina que esta posicionada numa oferta e em um item....
User function ofertaitem()
..............
Declarei as variáveis PUBLICAS abaixo..
PUBLIC cXOfer1 := __aProd[15][1][2] - aqui ele me traz o numero da oferta certinho posicionada
PUBLIC cXItem1 := __aProd[15][1][3] - aqui ele me traz o numero do item certinho posicionada
.................
Return
Quando a rotina esta em DEBUG, ela me traz a informação na variável Publica do ponto de entrada abaixo, o que me traria certo o numero da oferta e o item pra ser atualizado o Produto
Mas não sei o motivo, quando a rotina acima esta aberta traz as informações, MAS QUANDO ENTRA NO PONTO DE ENTRADA E A ROTINA ANTERIOR FECHA , as varáveis publicas vem em branco !!!!!
Tentei por variável STATIC ,PUBLIC, Private e sempre vem em branco.........mas antes de entrar no Ponto de entrada se você abrir ele, e coloca o cursor em cima dele sai as informações certinhas , mas qdo entra no PE as informações vem em branco...
A minha duvida ficou ai nessa parte, como e variável publica, não deveria levar a informação pra o Ponto de entrada.......será que eu estou fazendo besteira....
as variáveis publicas morrem ao sair da rotina onde foi declarada?
Ponto de entrada:
User Function A010TOK(cXOfer1,cXItem1)
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
Problema e o seguinte:
Tenho uma rotina que esta posicionada numa oferta e em um item....
User function ofertaitem()
..............
Declarei as variáveis PUBLICAS abaixo..
PUBLIC cXOfer1 := __aProd[15][1][2] - aqui ele me traz o numero da oferta certinho posicionada
PUBLIC cXItem1 := __aProd[15][1][3] - aqui ele me traz o numero do item certinho posicionada
.................
Return
Quando a rotina esta em DEBUG, ela me traz a informação na variável Publica do ponto de entrada abaixo, o que me traria certo o numero da oferta e o item pra ser atualizado o Produto
Mas não sei o motivo, quando a rotina acima esta aberta traz as informações, MAS QUANDO ENTRA NO PONTO DE ENTRADA E A ROTINA ANTERIOR FECHA , as varáveis publicas vem em branco !!!!!
Tentei por variável STATIC ,PUBLIC, Private e sempre vem em branco.........mas antes de entrar no Ponto de entrada se você abrir ele, e coloca o cursor em cima dele sai as informações certinhas , mas qdo entra no PE as informações vem em branco...
A minha duvida ficou ai nessa parte, como e variável publica, não deveria levar a informação pra o Ponto de entrada.......será que eu estou fazendo besteira....
as variáveis publicas morrem ao sair da rotina onde foi declarada?
Ponto de entrada:
User Function A010TOK(cXOfer1,cXItem1)
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 216
- Obrigados Recebidos: 0
10 anos 2 meses atrás #25695
por admin
Respondido por admin no tópico Variavel Publica
Vitor boa tarde, estão morrendo porque vc colocou as mesmas variaveis na função do ponto de entrada como parametros:
User Function A010TOK(cXOfer1,cXItem1)
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
Apenas Retire-as
User Function A010TOK()
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
User Function A010TOK(cXOfer1,cXItem1)
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
Apenas Retire-as
User Function A010TOK()
DbSelectArea("SUB")
DbSetOrder(1)
SUB->(DbSeek(XFILIAL("SUB") + cXOfer1 + cXItem1 ))
MSGALERT(cXOfer1)
MSGALERT(cXItem1)
RecLock("SUB",.F.)
SUB->UB_PRODUTO := SB1->B1_COD
MsUnlock()
return
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.068 segundos