Formularios

Delphi

04/06/2003

Bom dia turminha.......


Bom, é o seguinte....


Eu tenho um formulário de pesquisa....e tenho mais tres formulários que utilizando o de pesquisa..ok.... e eu gostaria de saber como eu sei qual dos tres formularios ´chamou´ o formulario de pesquisa...(qual é que esta utilizando o de pesquisa)....


Desde já agradeço a ajuda de todos....


Cristiane

Cristiane

Curtidas 0

Respostas

Okama

Okama

04/06/2003

Tive esse problema uma vez e tentei utilizar parametros para chamar o formulário, mas não consegui.

Fiz um procedimento que recebe o parametro e abre o formulário:

var
  Form2: TForm2;
  FORM_ORIGEM: String;

implementation


{$R *.dfm}

procedure TForm2.Abre(Parametro: String);
begin
   FORM_ORIGEM := Parametro;  
   Form2.Show;
end;



Para abrir o form2 use o codigo abaixo:

procedure TForm1.Button1Click(Sender: TObject);
begin 
   Form2.Abre(´Form1´);
end; 



GOSTEI 0
Rômulo Barros

Rômulo Barros

04/06/2003

Declare uma variável na sessao publica do seu formulario de pesquisa:

type
TfrmPesquisa = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
[color=red:71fb61cd6b] FormName: String;[/color:71fb61cd6b]
end;

No evento OnCreate do formulário de pesquisa digite:

procedure TfrmPesquisa.FormCreate(Sender: TObject);
begin
frmPesquisa.FormName := name;
end;

Agora, basta vc colocar no evento OnShow do formulário Pesquisa:

procedure TfrmPesquisa.FormShow(Sender: TObject);
begin
ShowMessage(FormName);
end;


[color=red:71fb61cd6b]Pronto, AMORZINHO................ O nome do formulário será exibido. UM BEIJAO................[/color:71fb61cd6b]


GOSTEI 0
Cristiane

Cristiane

04/06/2003

Bom dia a todos..........


Sera que alguem mais pode me dar uma dica sobre os formularios?

Desde ja agradeço a todos....

E obrigado ajudas que eu ja recebi......


GOSTEI 0
Vasques

Vasques

04/06/2003

Olá!

eu nas minhas aplicacões tenho tambem situações parecidas.
um formeLista é chamado por vários outros formes, e como não uso formes showmodal, esse formeLista pode ser aberto por vários formes ao mesmo tempo.
não sei se é o seu caso, no entanto pensso que a solução que eu tenho deve resolver o seu problema.

no forme apartir do qual abre o formeLista, crie uma instancia para o formeLista e antes de fazer o show do formeLista passe uma referencia ao forme que o abriu.
essa referencia pode ser uma variavel public do formeLista. se a declaração dessa variavel for do tipo TForm depois é fácil ter acesso ao form apartir do qual o FormeLista foi aberto

if ObjForm as TNomeClassDoFormeQueOAbriu then
TNomeClassDoFormeQueOAbriu(ObjForm).xxxxx terá acesso a todos os metodos e atributos do forme que abriu o formeLista

espero não ter sido muito confuso?

se pretender um pequeno exemplo mande-me um email, que com mais tempo eu preparo para si.

vasques@aeiou.pt


GOSTEI 0
Vmotta

Vmotta

04/06/2003

Cristiane, acho que a maneira mais fácil de fazer isso seria como o pessoal já disse, informando ao formulario aberto qual formulário o chamou, essa é apenas mais uma maneira de fazer isso:

begin
Fpesquisa.tag := 1;
Fpesquisa.show;
end;

em cada formulario que chama sua pesquisa, vc coloca um valor diferente para a propriedade tag, dai no formulario de pesquisa basta tratar a propriedade tag ...

t+
Vitor Hugo <vmotta@eep.br>


GOSTEI 0
POSTAR