procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  temp: TListItem;
begin
  With Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select * from 商品销售信息 order by 销售数量 Desc');
    Open;
  end;
  ListView1.Clear;
  while not Query1.Eof do
  begin
    temp := ListView1.Items.Add;
    temp.Caption := Query1.Fields[0].AsString ;
    For i := 1 to 2 do
    begin
       temp.SubItems.Add(Query1.Fields[i].AsString);
    end;
    Query1.Next;
  end;
end;
晚上看到上面的代码,突然想到一个问题,就是delphi的函数返回值是如C++中的的拷贝还是引用?
因为上面代码中 temp := ListView1.Items.Add;修改temp的caption直接影响了ListView1,这样看返回的应该不是拷贝值??