Formulário herdado

Delphi

06/08/2003

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.


Catharina

Catharina

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

06/08/2003

Fm_Cadastro.FormName := name;
StatusBar1.Panels[2].Text :=Fm_Cadastro.FormName ; :?:

é isso?


GOSTEI 0
Rafael Heise

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


GOSTEI 0
Catharina

Catharina

06/08/2003

Não entedi!!!! Como usar o Self no lugar do nome????


GOSTEI 0
Kinob

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?


GOSTEI 0
Rafael Heise

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....


GOSTEI 0
POSTAR