Fórum Formulário herdado #173377

06/08/2003

0

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

Responder

Posts

06/08/2003

Marcelo Saviski

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

é isso?


Responder

Gostei + 0

06/08/2003

Rafael Heise

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


Responder

Gostei + 0

07/08/2003

Catharina

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


Responder

Gostei + 0

08/08/2003

Kinob

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?


Responder

Gostei + 0

08/08/2003

Rafael Heise

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar