Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Passando parametros de um formulario para o outro
Message
 
To
23/04/2002 09:09:02
Alexandre Sola
Witwise Adm de Bems S/C Ltda
São Paulo, Brazil
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00648085
Message ID:
00648134
Views:
15
This message has been marked as the solution to the initial question of the thread.
Alow Alexandre,

Segue um roteiro:

1 - Vamos imaginar a seguinte situação: A partir do formulário A, você precisa passar um valor para o formulário B, que por sua vez deve retornar um valor para o formulário A.

2 - No formulário A, você deverá chamar o formulário B utilizando o seguinte comando (pode ser no valid de um textbox, em um botão, qualquer lugar):
Do Form FormularioB With ThisForm.ValorIda.Value To m.ValorVolta

3 - Observe que o formulário A enviará o valor de "ThisForm.ValorIda.Value" para o formulário B e ficará aguardando um retorno que será armazenado na variável "m.ValorVolta".

4 - Ao criar o formulário B, a propriedade WindowType deve ser configurada para "1 - Modal". Isto é obrigatório, já que adicionamos a cláusula "To m.ValorVolta" na chamada do formulário B. Esta cláusula é responsável por fazer com que o formulário A fique aguardando o retorno do formulário B.

5 - Crie 2 propriedades no formulário B. Para isso abra o menu Form, New Property. As novas propriedades são: "ValorRecebido" e "ValorRetorno". Na janela Property do VFP (Other), defina essas duas propriedades como caracter (Basta clicar na propriedade e pressionar DELETE) ou numérica (digitando 0).
A primeira propriedade "ValorRecebido" é opcional já que você pode armazenar este valor em um objeto da tela ou até mesmo não armazená-lo já que você pode precisar deste valor apenas no Init do formulário B. Já a segunda propriedade é obrigatória, você entenderá porque no final deste tutorial.

6 - No evento Init do formulário B adicione o seguinte código:
LParameters m.ValorRecebido
ThisForm.ValorRecebido = m.ValorRecebido

7 - No formulário B, você também deve criar um botão (ou ao pressionar uma tecla - evento KeyPress do formulário) para finalizar o formulário e retornar algum valor para o formulário A. Então, no valid do botão (ou KeyPress do formulário) adicione o seguinte código:
ThisForm.ValorRetorno = "Qualquer coisa"
ThisForm.Release

ou, caso o retorno seja numérico:

ThisForm.ValorRetorno = 0
ThisForm.Release

8 - Último passo... No evento UnLoad do formulário B, adicione a seguinte linha:
Return ThisForm.ValorRetorno

Veja só: A propriedade ValorRetorno é obrigatória porque quando o formulário executa o método UnLoad, todos os objetos do formulário já foram destruídos, liberados da memória. Por isso a necessidade de se criar uma propriedade no formulário já que este é o único objeto existente neste momento...

Fonte: www.foxbrasil.com.br/rodolfo - Faça você mesmo
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform