Variável em outro form

Delphi

19/06/2005

Tenho um form de consulta, o qual gostariea que fosse para qualquer consulta. A dorma de eu contriolar, qual o fprmulario que o chamou seria por uma variável, mas como carregar variável em oputro form? Ex: Se fosse a tela de venda q tivesse chamado o form_consulta, a variável teria valor 1. Se fosse a tela de CadProdutos, teria valor 2 e assim por diante. Tem como? Esta variável estaria no form consulta.


Paulo

Paulo

Curtidas 0

Respostas

Zimair

Zimair

19/06/2005

voce deve fazer uso do unit do formulario de consulta e então chama-lo.

+ ou - assim

[i:1ac7c54e99]form2.variavel:=1;
fom2.showmodal;[/i:1ac7c54e99]

voce pode melhorar o codigo para que seja criado em tempo de excução.


GOSTEI 0
Paulo

Paulo

19/06/2005

Dá erro no nome da variável. A variável no form onde estou chamando, dá erro.

try frmCons_Prod:=TfrmCons_Prod.Create(Self); frmCons_Prod.chd:=1; frmCons_Prod.Showmodal; finally FreeAndNil(frmCons_Prod); end;



GOSTEI 0
Marco Salles

Marco Salles

19/06/2005

Mas qual o problema de voce ter uma variável Publica para receber esse valor.....E aasocia-la a cada form que chama o FormConsulta

Por exemplo , na tela de venda que chama o FormConsulta a Variável Publica do FormPrinciplai recebe1 , se fosse o FormCadstro que chamasse o FormConsulta a Varia´vel Publica do Form Principal recebe 2
etc...

Esta variável estaria no form consulta.


Mias fácil esta variável estar no Form Principal


GOSTEI 0
Zimair

Zimair

19/06/2005

Eu concordo com o colega, se a variavel estiver em um local em comu sera mas facio. pode ser no forme principal ou em uma unit de classe.

mas bem lembrado essa variavel tem que ser publica e não privado.
o melhor e sempre iniciar essa variavel antes de usala.

você pode criar uma procedure para simplificar a chamado do forme se ele for chamado varias vezes.

ex.

procedure classe.nome(x:integer);
begin
forme:=Tforme.Create(Self);
try
forme.var:=valor; //local que a variavel foi declarada.
forme.showmodal;
finally
forme.free;
forme:=nil;// metodo que preferir
end;
end;
lembrado que a procedure tem que ser publica.

assim bastaria chamar a procedure para iniciar a consulta. pasando como referencia a variavel.


GOSTEI 0
Michelli88

Michelli88

19/06/2005

Ta faltando vc declarar o UNIT no form q vc quer chamar a variavel, por exemplo:

A variave esta no form1 e vc quer chama-la no form2.
No form2, coloque depois de Implementation:

Uses U_Form1; // nome da unit


GOSTEI 0
POSTAR