Ir para conteúdo
  • Cadastre-se

dev botao

Valor de variável antes de instância objeto


Ver Solução Respondido por Renato Rubinho,
  • Este tópico foi criado há 751 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado (editado)

Olá a todos,

Uma dúvida de POO.

Supondo que eu tenha a classe TPessoa, segue o código abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
  pessoa: TPessoa;
begin

  //qual o valor da variável pessoa AQUI... antes de instânciar a mesma????

  pessoa := TPessoa.Create;

  ...
end;

Bem...

Pelo que estou aprendendo em POO, quando uso o comando "pessoa := TPessoa.Create;" estou atribuindo ao ponteiro pessoa o endereço de memória onde se encontra a instância do objeto TPessoa em questão... Ok?

Mas antes de instanciar o TPessoa na variável pessoa, qual o valor da variável pessoa???

Desde já agradeço a atenção de todos

Editado por bnobre
  • Membros Pro
Postado
1 hora atrás, Renato Rubinho disse:

Boa tarde,

Você declarou o tipo, mas até este momento não atribuiu nada a ele.

Está nil 

Opa meu amigo...

Beleza?

Na verdade não está nil, ao menos quando checo se "pessoa = nil" antes de instanciar a mesma diz que não.

Eu nunca entendi muito bem qual é o valor de uma variável antes de iniciar a mesma, na verdade acho que nesse exemplo entra a mesma dúvida, ou estou enganado?

  • Membros Pro
Postado (editado)
11 minutos atrás, Renato Rubinho disse:

Olá,

Teste Assigned(pessoa) ao invés de pessoa <> nil 

Opa meu amigo... Blz???

Com o Assigned funciona... Perfeito

Porque que com o "pessoa = nil" ou "pessoal <> nil" não pega?

Se o valor antes de instanciar não é nil, qual é o valor da variável?

Editado por bnobre
  • Consultores
  • Solution
Postado

Não sei se existe teoria para isso (se seguir sua busca e encontrar seria interessante saber), mas entendo que a variável neste cenário, antes de ter algo atribuído a ela possui um "lixo de memória" e o Assigned verifica se já foi atribuído algo à variável.

  • Obrigado 1
  • Este tópico foi criado há 751 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.