



Certa vez precisava recuperar a referencia de um formulário na aplicação,
mas gostaria de fazer sem dar uses do form na unidade.
Se o formulário fosse mdichild, já existe artigos aqui que nos ajudam.
Mas o fato é que era um form normal, e ai, o que fazer?
Bom, este código consegue exibir todos os formulários instanciados da aplicação.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | procedure TForm2.ProcurarFormsClick(Sender: TObject); var i: integer; nome, caption: string; begin for i := 0 to Screen.FormCount - 1 do begin if Screen.Forms[i].Visible then begin nome := nome + ' - ' + Screen.Forms[i].Name; caption := caption + ' - ' + Screen.Forms[i].Caption; end; end; Application.MessageBox( Pchar('Nome dos Forms: [' + nome + ']' + #13 + 'Caption dos Forms: [' + caption + ']'), 'Teste com form', mb_Ok + mb_IconInformation); end; |
Com base neste código, você pode recuperar e utilizar o formulário em praticamente
qualquer lugar da aplicação!
Adaptado de: https://www.devmedia.com.br/forum/percorrer-todos-os-forms-do-projeto/332099
Dúvidas ou sugestões?
Deixe o seu comentário!