Fórum Registar classe automaticamente ao criar um formulario #373778
19/08/2009
0
[b:5f96406f54]TForm_Padrao_Cadastro = class(TForm)[/b:5f96406f54]
e todos os formularios de cadastro se derivam dela, da seguinte forma:
[b:5f96406f54]TCadastro_Pessoas = class (TForm_Padrao_Cadastro)
TCadastro_Fornecedores = class (TForm_Padrao_Cadastro)[/b:5f96406f54]
....
e a assim por diante. Dessa forma para eu registar as classes eu tenho que fazer o seguinte:
Para eu registar a classe TCadastro_Pessoas eu tenho que fazer o seguinte, na unit UCadastro_Pessoas antes do ´end.´ eu coloco o seguinte codigo:
[b:5f96406f54]initialization
RegisterClass(TFCadastro_Pessoas);
finalization
UnRegisterClass(TFCadastro_Pessoas);[/b:5f96406f54]
Para eu registar a classe TCadastro_Fornecedores eu tenho que fazer o seguinte, na unit UCadastro_Fornecedores antes do ´end.´ eu coloco o seguinte codigo:
[b:5f96406f54]initialization
RegisterClass(TFCadastro_Fornecedores);
finalization
UnRegisterClass(TFCadastro_Fornecedores);[/b:5f96406f54]
A pergunta e a seguinte:
Teria como eu fazer esse registro na classe mae(TForm_Padrao_Cadastro), Tipo assim:
[b:5f96406f54]initialization
RegisterClass(Screen.ActiveForm.ClassType);
finalization
UnRegisterClass(Screen.ActiveForm.ClassType);[/b:5f96406f54]
preciso fazer algo toda vez q eu crie um form derivado da classe mae (TForm_Padrao_Cadastro) eu não precise escrever o codigo para registar a classe. Obrigado.[color=green:5f96406f54][/color:5f96406f54][color=green:5f96406f54][/color:5f96406f54]
Juniorcastromaia@hotmail
Curtir tópico
+ 0Posts
19/08/2009
Osocram
Gostei + 0
21/08/2009
Abysmall
desculpe-me se estou atrapalhando seu post, mas gostaria de aproveitar o assunto para perguntar, qual a importância de se usar :
finalization UnRegisterClass(TMinhaClasse);
Agradeço desde já.
Gostei + 0
21/08/2009
Osocram
Mas eu testei com o Eureka log e não da memory leak ficar sem isso
UnRegisterClass(TMinhaClasse);
Então não vejo muita utilidade, ja que enqto o sistema estiver aberto todos as classes tem q estar Registrado e qdo fechar ele vai tirar tudo da memoria mesmo.
Resumindo, na teoria é p liberar da memoria, na pratica não vi um pq de se fazer isso.
finalization UnRegisterClass(TMinhaClasse);
Gostei + 0
21/08/2009
Abysmall
Muito Obrigado...
obs: vc foi rápido hein.. rsrs
Gostei + 0
21/08/2009
Abysmall
Muito Obrigado...
obs: vc foi rápido hein.. rsrs
Gostei + 0
23/08/2009
Firekiller_am
Mais não preciso registrar classes dentro da tela filha.
Faço isso apenas na tela principal que instancia as mesmas.
Pra mim seu poster ficou confuso.
abraços
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)