GARANTIR DESCONTO

Fórum Erro de memória usando classes #344643

17/08/2007

0

Na Unit1 tenho o seguinte código

procedure TForm1.Button3Click(Sender: TObject);
begin
Pessoa.SetNome(Edit1.Text);
end;

e na unit3:
unit Unit3;

interface

uses
Unit2;

type
TPessoa = Class
private
PNome: String;
published

public
procedure SetNome(NomeTMP: String);
property Nome: String read PNome Write SetNome;
end;

implementation

procedure TPessoa.SetNome(NomeTMP: String);
begin
PNome := NomeTMP;
end;

end.


Ele dá erro de Memória, onde poderia estar o erro?
E para que serve a linha
property Nome: String read PNome Write SetNome;

Estou fazendo tantas perguntas pq estou tentando trabalhar com classes e estou acomplanhando um artigo

Obrigado!


Luiz_aquino

Luiz_aquino

Responder

Posts

17/08/2007

Massuda

procedure TForm1.Button3Click(Sender: TObject); begin Pessoa.SetNome(Edit1.Text); end;
Pessoa foi criado antes disso ser executado?

E para que serve a linha property Nome: String read PNome Write SetNome;
Isto define uma propriedade. Para ler/atribuir o valor de uma propriedade, basta usar o nome da propriedade. Exemplo:
Pessoa.Nome := ´Fulano´;
// equivale a
Pessoa.SetNome(´Fulano´);



Responder

Gostei + 0

17/08/2007

Luiz_aquino

[quote:b8330f7d5d=´luiz_aquino´]procedure TForm1.Button3Click(Sender: TObject); begin Pessoa.SetNome(Edit1.Text); end;
Pessoa foi criado antes disso ser executado?

E para que serve a linha property Nome: String read PNome Write SetNome;
Isto define uma propriedade. Para ler/atribuir o valor de uma propriedade, basta usar o nome da propriedade. Exemplo:
Pessoa.Nome := ´Fulano´;
// equivale a
Pessoa.SetNome(´Fulano´);
[/quote:b8330f7d5d]

*************************************************
[quote:b8330f7d5d=´luiz_aquino´]procedure TForm1.Button3Click(Sender: TObject); begin Pessoa.SetNome(Edit1.Text); end;
Pessoa foi criado antes disso ser executado?
E como faço para criar pessoa?

tentei executar antes Pessoa.Create mas continua dando erro de memoria


Responder

Gostei + 0

17/08/2007

Massuda

E como faço para criar pessoa? tentei executar antes Pessoa.Create mas continua dando erro de memoria
Pessoa := TPessoa.Create;
sem fazer isso, a variável pessoa contem nada, gerando access violation.


Responder

Gostei + 0

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

Aceitar