Ver Mensaje Individual
  #49  
Antiguo 13-11-2008
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Reputación: 19
olbeup Va camino a la fama
Thumbs up

Hola ???

Retomando la pregunta inicial.
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;

Por que no haces esto:
Código Delphi [-]
function TForm1.GetStrings:TStrings;
begin
  Result := TStringList.Create;
  Result.Add('uno');
  Result.Add('dos');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  memo1.Lines.Assign(GetStrings);
end;

Al salir de la función GetStrings, la variable se libera sola.

Un saludo
Responder Con Cita