Como percorrer os formulários criados na aplicação?
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; |
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!
-
Giovani Da Cruz
-
3.589 views
- 0 comentários
- 5 de julho de 2019
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo