Form que chamou..
Boas..
galera, eu to com um probleminha..
se tenho 2 forms por exemplo, form1 e form2..
se o form1 chamou o form2, como eu faco pra saber pelo form2 que quem o chamou foi o form1?
Sendo que eu criei o form2 e chamei o form2..
application.createform(tform2,form2);form2.showmodal;
O sender eu ja vi que nao funciona nesse caso e nao sei como resolver isso..
agradeço desde já..
Eider.
galera, eu to com um probleminha..
se tenho 2 forms por exemplo, form1 e form2..
se o form1 chamou o form2, como eu faco pra saber pelo form2 que quem o chamou foi o form1?
Sendo que eu criei o form2 e chamei o form2..
application.createform(tform2,form2);form2.showmodal;
O sender eu ja vi que nao funciona nesse caso e nao sei como resolver isso..
agradeço desde já..
Eider.
Saint
Curtidas 0
Respostas
Gandalf.nho
24/05/2005
Vc poderia criar uma variável na seção Public do seu form que receberia o nome do form que o abrisse.
GOSTEI 0
Marco Salles
24/05/2005
Vc poderia criar uma variável na seção Public do seu form que receberia o nome do form que o abrisse.
:arrow: to com voce.. :wink: foi o que eu pensei
GOSTEI 0
Andremuller
24/05/2005
As outras dicas são igualmente válidas.
Aí vai outra
Crie o Form2 da seguinte forma
Depois para acessar quem criou o form você pode acessar em Form2 propriedades como
Self.Owner.ClassName
ps.: opinião minha, nunca use Application.CreateForm, é um veneno, se você quer passar Application como owner então execute Form := TForm.Create(Application).
Digo isso porque depois se é necessário modificar o construtor da classe passando algum atributo imprescindível pro seu funcionamento, nos pontos que você utilizou Application.CreateForm vai compilar mas o funcionamento da classe vai estar comprometido.
Abaixo ao Application.CreateForm. Aqui eu estou formulando um documento com boas práticas de programação, esse é um dos primeiros itens.
Aí vai outra
Crie o Form2 da seguinte forma
Form2 := TForm2.Create(Self); Form2.ShowModal;
Depois para acessar quem criou o form você pode acessar em Form2 propriedades como
Self.Owner.ClassName
ps.: opinião minha, nunca use Application.CreateForm, é um veneno, se você quer passar Application como owner então execute Form := TForm.Create(Application).
Digo isso porque depois se é necessário modificar o construtor da classe passando algum atributo imprescindível pro seu funcionamento, nos pontos que você utilizou Application.CreateForm vai compilar mas o funcionamento da classe vai estar comprometido.
Abaixo ao Application.CreateForm. Aqui eu estou formulando um documento com boas práticas de programação, esse é um dos primeiros itens.
GOSTEI 0
Saint
24/05/2005
Boas, agradeco as dicas..
eu pensei em usar uma variavel tambem mas nao quis trabalhar desta forma..
quanto ao application.createform eu sempre o preferi, mas o que voce falou eh verdade mesmo..
agradeco as dicas..
abraço
eu pensei em usar uma variavel tambem mas nao quis trabalhar desta forma..
quanto ao application.createform eu sempre o preferi, mas o que voce falou eh verdade mesmo..
agradeco as dicas..
abraço
GOSTEI 0