Cita:
Empezado por donald shimoda
prefiero escribir código seguro
|
Nosotros también, pero también preferimos no redundar. No hace falta evitar el caso
nil por lo que expliqué arriba.
En el ejemplo anterior, la llamada Persona.Saluda realmente genera este código:
Código:
call TPersona.Saluda
Se llama a una función que
sí existe, no hay una referencia a una memoria inválida.
Si tuviéramos
Código Delphi
[-]
type
TPersona = class
Saludo: String;
procedure Saluda;
end;
procedure TPersona.Saluda;
begin
ShowMessage(Saludo);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Persona: TPersona;
begin
Persona.Saluda;
end;
entonces sí que habría problemas, porque no ha sido asignada memoria a ningún objeto y por tanto el campo Persona.Saludo no existe aún.
// Saludos