Alfonso CV Posted August 22, 2016 at 12:23 PM Report #598240 Posted August 22, 2016 at 12:23 PM Caros bom dia. Preciso saber como consigo aceder aos métodos e propriedades dum Form pai desde o Form filho, por exemplo: Tenho um formulário principal e desde ele chamo a outro formulário modal, estando neste Form filho preciso actualizar propriedades e executar métodos do Form principal. Alguma dica por favor... Cumprimentos, Alfonso
nunopicado Posted August 24, 2016 at 11:33 PM Report #598334 Posted August 24, 2016 at 11:33 PM Boa noite Afonso Tens várias formas. Uma é criares um método no form pai que chame a form modal, e antes do free, vá lá buscar a info que for precisa para actualizar a form pai. Esta forma evita que haja referencia circular, com duas units a chamarem-se uma à outra, que é sempre de evitar. Exemplo: procedure TfFormPai.AbreJanela(Sender: TObject); begin fFormFilha := TfFormFilha.Create(Self); fFormFilha.Parent := Self; if fFormFilha.ShowModal = mrOK then fFormPai.Edit1.Text := fFormFilha.EditXPTO.Text; // O TEdit da form pai vai buscar valor ao TEdit da form filha fFormFilha.Free; end; Podes fazer também a referencia circular, metendo o nome da unit da form pai na cláusula uses da secção implementation da form filha: unit uFormFilha; interface uses blablabla, xpto, pardaisaoninho; implementation uses // Cria aqui uma cláusula uses, e chama a unit da form pai uFormPai; procedure TfFormFilha.Button1(Sender: TObject); begin fFormPai.Edit1.Text := fFormFilha.EditXPTO.Text; // O TEdit da form pai vai buscar valor ao TEdit da form filha end; Não recomendo de todo este último método. A promiscuidade entre classes far-se-á pagar no futuro quando precisares fazer testes e/ou descobrir de onde vem um erro qualquer. Há outras formulas, mais ou menos complexas, mas estas duas representam as duas principais formas de o fazer. 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Alfonso CV Posted September 1, 2016 at 01:51 AM Author Report #598549 Posted September 1, 2016 at 01:51 AM Obrigado pela resposta Nuno...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now