Limpar variaveis

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

fala galera....

por favor tive um problema assim: no exit_form eu tenho algumas variáveis globais a qual eu dou um 'erase'.

Só q eu estou tendo um problema com isto. Eu tenho um programa onde possuo uma variável global e no mesmo esquema dou um erase nela....Só que esta aplicação tem um botão onde eu chamo uma outra aplicação de pesquisa que por sua vez chama a mesma aplicação inicial.

Dai o que acontece, eu tenho a aplicação A ela chama a B, que por sua vez chama a A novamente, quando eu saio da A para retornar a B no meu key-Exit eu dou um erase na minha variável global, quando eu saio da B e volta para a A e tento passar por locais que utilizam esta variável A para trabalhar da erro dizendo que a variável não existe (frm-40815: a variável NNNNN não existe)


alguém tem alguma dica?


valeu!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Acho que você pode usar a built-in FIND_FORM pra testar se o form B está "no ar". Se está, não apaga a global... O mesmo no Form B.
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

só que isso me causa outro problema...

eu uso a variavel global para fazer um controle na aplicacao A, em uma certa situacao eu seto ela como 1 (se for 1 chama pu_1 senao pu_2 )... se eu abro uma aplicacao B e abro a A novamente a variavel esta em memoria com valor 1, consequentemente ela vai fazer a pu_1...

não sei se estou me expressando bem...

bom eu fiz da seguinte forma...

estou na aplicacao A... somente vou permitir chamar a aplicacao B se a minha variavel estiver como 2, dai ao chama a B eu limpo minhas global's(erase) e dou o call, no momento em q eu voltar para a aplicacao A eu recrio ela com valor default 2....


ps valor 2 refere-se ao valor inicial q eu seto a variavel na primeira vez que instancio do programa(pre-form)
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Outra forma, que talvez não dê tanta dor de cabeça:
* Não usar variáveis globais pra passar parâmetros de um form para outro. Usar PARAMETER do forms, que serve exatamente pra isso.
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

a sim.. enquanto a isto esta ok... eu uso a global para servir como variavel de controle... acho q deveria ter criado um bloco de controle e um item de texto... evitaria todo esse problema... rs..

vlw
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes