Outras formas de variáveis globais
- dr_gori
- Moderador
- Mensagens: 5013
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
GLOBAIS
Realmente, globais não são legais, pois ocupam 256 bytes e sempre são CHAR. (pode-se até guardar numbers, mas eles são convertidos na hora do usar).
PARAMETROS
Tem também os PARAMETROS, que são melhores que globais, pois suportam um número maior de bytes. (não apenas 256).
PACKAGES DE FORMS - Melhor prática!
Você cria um PACKAGE SPECS e declara uma variável ali. Assim pode usa-la ou muda-la em qualquer parte do programa. (é claro, podendo usar todos tipos de variáveis, inclusive BOOLEAN).
Acho que as globais devem ser utilizadas apenas quando se deseja transferir informações entre vários formulários distintos. Se for só entre procedures do mesmo formulário, o melhor é usar pacotes de variáveis.
Realmente, globais não são legais, pois ocupam 256 bytes e sempre são CHAR. (pode-se até guardar numbers, mas eles são convertidos na hora do usar).
:global.sua_var:='sua_string';
Tem também os PARAMETROS, que são melhores que globais, pois suportam um número maior de bytes. (não apenas 256).
:parameter.seu_par:='sua_string';
Você cria um PACKAGE SPECS e declara uma variável ali. Assim pode usa-la ou muda-la em qualquer parte do programa. (é claro, podendo usar todos tipos de variáveis, inclusive BOOLEAN).
PACKAGE PKG_TESTE IS
sua_var varchar2(10):='TESTE';
valida_trig boolean;
END;
-
- Rank: Programador Sênior
- Mensagens: 56
- Registrado em: Ter, 10 Jul 2007 3:24 pm
- Localização: sp
Sempre há algo a aprender....
aconteceu uma coisa comigo hoje: ao atribuir um valor numerico a minha variavel global em runtime deu o erro 06502 : inconsistent datatypes; eu tive que meter um to char na atribuição.
:global.conta_transacoes = to_char(3);
isso de atribuir letra pra numero é a partir de qual versão do forms?
:global.conta_transacoes = to_char(3);
isso de atribuir letra pra numero é a partir de qual versão do forms?
-
- Rank: Programador Júnior
- Mensagens: 19
- Registrado em: Sex, 11 Jul 2008 11:14 am
- Localização: Campinas - SP
Marcos Pinheiro da Rocha
Desenvolvedor Java/Forms/PL-SQL
Desenvolvedor Java/Forms/PL-SQL
As packages podem ser tambem utilizadas de forma global entre os forms invocados, porem elas devem ser definidas em PLL e a mesma deve ser atachada em todos os forms que utilizarão essas variaveis globais.
Na hora de chamar os forms deve-se utilizar o CALL_FORM passando o parametro SHARE_LIBRARY_DATA (COMPARTILAMENTO DE DADOS DE BIBLIOTECAS), com isso as variaveis definidas e atribuidas nessas packages podem ser manipuladas por todos os forms que compartilham dessa PLL.
Eu particularmente utilizo muito para popular e ler Arrays entre um form e outro.
Abs,
Na hora de chamar os forms deve-se utilizar o CALL_FORM passando o parametro SHARE_LIBRARY_DATA (COMPARTILAMENTO DE DADOS DE BIBLIOTECAS), com isso as variaveis definidas e atribuidas nessas packages podem ser manipuladas por todos os forms que compartilham dessa PLL.
Eu particularmente utilizo muito para popular e ler Arrays entre um form e outro.
Abs,
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes