Abrir um form dinamicamente
Estou tentando criar um Form dinamicamente, os nomes dos formulario tenho gravados num banco de dados e gostaria de passar os tipos Form e TForm. Por exemplo, onde aparece:
Application.CreateForm(TfrmPesqRpa, frmPesqRpa);
Ficaria assim:
Application.CreateForm(Variavel1, Variavel2);
Como eu poderia fazer a seguinte rotina?
Application.CreateForm(TfrmPesqRpa, frmPesqRpa);
Ficaria assim:
Application.CreateForm(Variavel1, Variavel2);
Como eu poderia fazer a seguinte rotina?
Zumbi
Curtidas 0
Respostas
Massuda
25/08/2005
O que você está armazenando no banco de dados? Se for o nome da classe do form, [url=http://forum.clubedelphi.net/search.php]pequise[/url] aqui o forum pelos termos TFormClass e FindClass que você irá encontrar alguns exemplos.
GOSTEI 0
Zumbi
25/08/2005
eu estou gravando o nome do formulario como varchar ´texto´ no banco de dados
GOSTEI 0
Massuda
25/08/2005
Como escrevi no meu post anterior, [url=http://forum.clubedelphi.net/search.php]pequise[/url] aqui o forum pelos termos [b:079a2704a5]TFormClass[/b:079a2704a5] e [b:079a2704a5]FindClass[/b:079a2704a5] que você irá encontrar alguns exemplos.
Basicamente você usa FindClass para localizar a classe do form (um valor do tipo TFormClass) a partir do [b:079a2704a5]nome da classe do form[/b:079a2704a5] e assim você pode criar o form. O problema é que você não como localizar dentro do programa uma variável pelo nome (no seu caso, se eu entendi direito, você queria localizar a variável que tem o mesmo ´nome do form´), mas olhando os exemplos já postos aqui no fórum, dá para você ter uma idéia de como outras pessoas resolveram isso.
Basicamente você usa FindClass para localizar a classe do form (um valor do tipo TFormClass) a partir do [b:079a2704a5]nome da classe do form[/b:079a2704a5] e assim você pode criar o form. O problema é que você não como localizar dentro do programa uma variável pelo nome (no seu caso, se eu entendi direito, você queria localizar a variável que tem o mesmo ´nome do form´), mas olhando os exemplos já postos aqui no fórum, dá para você ter uma idéia de como outras pessoas resolveram isso.
GOSTEI 0