//想实现在函数中生成Memo1的内容,而后赋给Memo.Lines //方法1: var s: TStrings; begin s := TStringList.Create; AddMemoData(s); Memo1.Lines := s; //进行对象复制,而不是简单的指针赋值 { procedure TCustomMemo.SetLines(Value: TStrings); begin FLines.Assign(Value);//进行对象的深度复制 end; } s.Free; //释放TStrings end; //方法2 var s:TStrings;//全局 function AddMemoData:TStrings; begin Result:=TStringList.Create; Result.Add(); end; procedure TButton1.Click; begin Memo1.Lines:=AddMemoData; s.Free; end;