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,这样看返回的应该不是拷贝值??
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,这样看返回的应该不是拷贝值??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货