Ver Mensaje Individual
  #1  
Antiguo 12-11-2008
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Reputación: 19
elcigarra Va por buen camino
más buenas prácticas de programación

Una consulta relacionada a otro hilo que comencé con este nombre, y referente a la liberación de la memoria. Alguien me puede explicar por qué no se puede hacer lo siguiente:
Código Delphi [-]
function TForm1.GetStrings:TStrings;
var
  miLista: TStrings;
begin
  miLista := TStringList.Create;
  miLista.Add('uno');
  miLista.Add('dos');
  Result := miLista;
  FreeAndNil(MiLista); // Esta linea da un error EAccessViolation
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  memo1.Lines.Assign(GetStrings);
end;

Y sabiendo que no puede hacerse esto, como entonces puedo liberar la memoria de la variable miLista creada en esa función.
Responder Con Cita