Fórum Como faço a chamada de métodos de uma class? #615745
11/05/2021
0
Olá, pessoal estou precisando de ajuda fiz um programa funcional em delphi depois de pronto comecei a refatorar criei uma class e joguei tudo oque era método lá deixei o form só para fazer as chamadas até ai tudo certo só que ai preciso saber como chamo os métodos da class no form e como uso os objetos do form na class por exemplo na class eu atribuo um valor a um edit só que o edit está no form e não na clase!
Wanderson Cardoso
Curtir tópico
+ 0
Responder
Posts
08/07/2021
Jonatas Alves
Olá, pessoal estou precisando de ajuda fiz um programa funcional em delphi depois de pronto comecei a refatorar criei uma class e joguei tudo oque era método lá deixei o form só para fazer as chamadas até ai tudo certo só que ai preciso saber como chamo os métodos da class no form e como uso os objetos do form na class por exemplo na class eu atribuo um valor a um edit só que o edit está no form e não na clase!
Para usar a classe no "form", primeiramente, é declarar a criação do objeto da class:
// declaração da classe
TAluno = class
private
FNome: String ;
FIdade: Integer ;
public
property Nome: String read FNome write FNome ;
property Idade: Integer read FIdade write FIdade ;
end ;
...
procedure TForm1.Button1Click(Sender: TObject);
var
LAluno: TAluno ;
begin
// instanciando objeto da classe
LAluno := TAluno.Create ;
end;
Obs: Caso a classe esteja declarada em uma unit diferente do form, é necessário declarar o nome da unit no uses da unit do form ;
Em relação à usar componentes do form dentro da classe, é necessário criar uma propriedade com o tipo do form invocador da classe, e então passar a referência do form:
// declaração da classe
TAluno = class
private
FNome: String ;
FIdade: Integer ;
FForm: TForm1 ;
public
property Nome: String read FNome write FNome ;
property Idade: Integer read FIdade write FIdade ;
// propriedade que referencia o form invocador da classe
property Form: TForm1 read FForm write FForm ;
end ;
...
procedure TForm1.Button1Click(Sender: TObject);
var
LAluno: TAluno ;
begin
LAluno := TAluno.Create ;
LAluno.Form := Self ; // passar uma referência "Self" do form invocador
end;
Obs: Dessa forma, na classe será possível manipular qualquer componente do form.
Boa sorte!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)