Formulário herdado
Olá...
Fiz um formulário de cadastro e coloquei no evento oncreate:
(para aparecer o nome do formulário)
Fm_Cadastro.FormName := name;
StatusBar1.Panels[2].Text := formname;
No Pai funciona, mas no formulário herdado não.
Alguém sabe o que está errado???
Catharina.
Fiz um formulário de cadastro e coloquei no evento oncreate:
(para aparecer o nome do formulário)
Fm_Cadastro.FormName := name;
StatusBar1.Panels[2].Text := formname;
No Pai funciona, mas no formulário herdado não.
Alguém sabe o que está errado???
Catharina.
Catharina
Curtidas 0
Respostas
Marcelo Saviski
06/08/2003
Fm_Cadastro.FormName := name;
StatusBar1.Panels[2].Text :=Fm_Cadastro.FormName ; :?:
é isso?
StatusBar1.Panels[2].Text :=Fm_Cadastro.FormName ; :?:
é isso?
GOSTEI 0
Rafael Heise
06/08/2003
não funciona porque você está referenciando o nome da form.. e a filha não tem o mesmo nome do pai .. quando referenciar a form use Self no lugar do nome...
valeu
valeu
GOSTEI 0
Catharina
06/08/2003
Não entedi!!!! Como usar o Self no lugar do nome????
GOSTEI 0
Kinob
06/08/2003
eu imagino que seja assim:
self.FormName := self.name;
StatusBar1.Panels[2].Text := self.formname;
Deve ser similar ao this do Java. . . Eu nunca usei herança em Delphi, mas ao que tudo indica deve ser isso. Não se pode colocar Fm_Cadastro por causa do que o zerneo tinha falado e tb o Fm_Cadastro é o nome da classe em que seu formulário está herdando e não corresponde ao nome do objeto que vc instaciou da classe(formulário) herdada e a palavra reservada self deve servir para apontar o nome desse objeto. No caso do formulário pai funcionou porque o nome do objeto era realmente
Fm_Cadastro e ele era da classe Form, naum sei o nome específico no Delphi. Será que eu falei besteira?
self.FormName := self.name;
StatusBar1.Panels[2].Text := self.formname;
Deve ser similar ao this do Java. . . Eu nunca usei herança em Delphi, mas ao que tudo indica deve ser isso. Não se pode colocar Fm_Cadastro por causa do que o zerneo tinha falado e tb o Fm_Cadastro é o nome da classe em que seu formulário está herdando e não corresponde ao nome do objeto que vc instaciou da classe(formulário) herdada e a palavra reservada self deve servir para apontar o nome desse objeto. No caso do formulário pai funcionou porque o nome do objeto era realmente
Fm_Cadastro e ele era da classe Form, naum sei o nome específico no Delphi. Será que eu falei besteira?
GOSTEI 0
Rafael Heise
06/08/2003
Não falou besteira não .. é isso mesmo ....
quando se usa Self.. você esta indicando o componente da classe instanciada..... por exemplo, quando você cria uma nova form no seu projeto você está instanciando um TForm, criando por exemplo TForm_Cadastro. e tudo que estiver dentro do TForm_Cadastro = class(TForm)
private... public.. end; pertencerá ao TForm_Cadastro instanciado ... assim .... quando você usar Self da forma como foi dito.. Self.FormName, Self.Caption ou qualquer propriedade você estará referenciando o componente da classe instanciada... fui claro ?
abraços....
quando se usa Self.. você esta indicando o componente da classe instanciada..... por exemplo, quando você cria uma nova form no seu projeto você está instanciando um TForm, criando por exemplo TForm_Cadastro. e tudo que estiver dentro do TForm_Cadastro = class(TForm)
private... public.. end; pertencerá ao TForm_Cadastro instanciado ... assim .... quando você usar Self da forma como foi dito.. Self.FormName, Self.Caption ou qualquer propriedade você estará referenciando o componente da classe instanciada... fui claro ?
abraços....
GOSTEI 0