Comunicação entre Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Phillips_BH
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 23 Mar 2009 10:18 am
Localização: Belo Horizonte/MG

Pessoal,

Entendi todas as dicas para passar parâmetros de um form principal para um form secundário.
Porém tenho dúvidas quanto a uma resposta do form secundário para o principal. Ou seja, uma comunicação bi-direcional entre os forms. Seria necessário repetir os mesmos passos de criação de lista de parametros e tal no form secundário?

E no caso da utilização de variáveis globais, onde se declara essas variáveis?

Obrigado!
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

Existem várias formas de se fazer isso.
Uma das mais fáceis é criar variáveis GLOBAIS mesmo. São variáveis do tipo VARCHAR de tamanho 255. Pode declarar em qualquer lugar, mas pra ficar bem organizado, normalmente se declara na PRE-FORM ou na WHEN-NEW-FORM-INSTANCE. Essas variáveis são compartilhadas por todos forms abertos. Você tem que dar um RELEASE nelas.

Outras formas de se "voltar" informações é:
* Criar uma package spec e colocar ali uma variável. Daí basta setar que ficará disponível **na mesma sessão**. Se você chamou com OPEN_FORM, não vai funcionar, apenas com CALL_FORM.

As vezes você precisa compartilhar várias linhas. Daí eu gosto da idéia de se gravar tudo que você precisa numa tabela temporária, que fica bem rápido e disponível pra se recuperar essas linhas em qualquer stored procedure OU package.

Cada caso é um caso... já vi gente que gravou um arquivo TEXTO na maquina pra passar parametro pro form anterior.. (nada pratico).
Phillips_BH
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 23 Mar 2009 10:18 am
Localização: Belo Horizonte/MG

OK, entendi... Utilizei as variáveis globais mesmo, funcionou.

Obrigado pela rápida resposta.
Responder
  • Informação
  • Quem está online

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