在函数中创建一个列表,如何返回给函数值呢?(20分)

  • 主题发起人 主题发起人 noall
  • 开始时间 开始时间
N

noall

Unregistered / Unconfirmed
GUEST, unregistred user!
rt.
问题例子如下:
procedure TfrmMain.BitBtn2Click(Sender: TObject);
var K:tstrings;
function abc(ab:string):tstrings;
var a:tstrings;
begin
a:=tstringlist.Create;
a.Add(ab);
result.Assign(a);//如何将a列表赋给函数值呢?
a.free;
end;
begin
k:=tstringlist.Create;
try
k:=abc('a');
finally
k.Free;
end;
end;
 
a.free
不可以释放
因为你返回的是一个指针
 
result.Assign(a);//如何将a列表赋给函数值呢?
改成
result:=a;//如何将a列表赋给函数值呢?
 
那就是邮由函数来创建,调用函数后再释放。
 
接受答案了.
 
后退
顶部