Fórum Passar Valor Para O Handle De Um Form #293025
25/08/2005
0
Seguinte.. tenho uma rotina q recebe o nome do form dinamicamente, a ser carregado, numa variável classe TForm.. e dentro desse form tenho um CREATE, q precisa de 2 parametros... porém na criação do form a variável TForm só aceita um parametro para o create, me disse q pode ser passado o valor pro handle da classe (TForm), mas eu nao tenho nem idéia de como fazer isso..
segue abaixo as rotinas para melhor entendimento..
begin
AForm := TComponentClass(APersistentClass).
Create(Application) as TForm;
AForm := AForm.Create(Dm.SQLConnection1, Self); //´Aki estou com problema´
AForm.Show;
end;
No caso ali tenho q passar os dois parametros.. para o create, mas ele só aceita um... lebrando q AForm é só uma variável classe TForm..
o create q recebe esse vaor é:
Constructor Create(Conexao: TSQLConnection; AOwner: TComponent);Overload;
Lembrando novamente q nao tenho o nome do form, nao tenho como declarar ele pois a rotina é comum pra todos os itens do menu.
entaum fica a questao como passar os dois parametros para a classe TForm q só aceita 1?
Em anexo esta o projeto exemplo, para quem quiser me ajudar e entender melhor.
At.
Magno
Oespiao
Curtir tópico
+ 0Posts
25/08/2005
Rjun
Você não pode criar uma propriedade para sua Connection e fazer a atribuição depois que você cria o Form?
Gostei + 0
25/08/2005
Oespiao
mas se vc tem outra alternativa .. posso testar
Gostei + 0
25/08/2005
Rjun
Gostei + 0
25/08/2005
Oespiao
tenho a propriedade no form q guarda a conexão, e estou tentando passar o valor pra ela.. porém nao acho como.. pois eu nao posso usar o nome do form...
Gostei + 0
25/08/2005
Rjun
Gostei + 0
25/08/2005
Fabiano Góes
mais tenta fazer assim:
Cria uma procedure assim:
procedure CriaForm(ClasseDoForm: TFormClass);
var
Form: TForm;
begin
Form := ClasseDoForm.Create(Application.MainForm);
Form.Show;
end;
---------------------------------------------------------------
Usa assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
CriaForm(TForm2); // não se esqueça do ´T´ antes do nome do form
end;
Gostei + 0
25/08/2005
Oespiao
ai a o que acontece é que essa rotina fica unica pra todos os itens do menu... 1 só rotina pra todos os formulários existentes.
Fabiano.. a questao de apresentar o form nao há problema.. o prob é instancia a conexão..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)