如何从 delphi 中的按钮添加重复数据?

How to add duplicate data from a button in delphi?

我有两个表单,每个表单都有 TListview(以显示我刚刚添加的数据)。 当我尝试从 form1 和 Listview(form1) 中添加数据时,它显示出来了。但我也想,如果我从 form1 添加数据,Listview(form1) 和 Listview(Form2) 会自动添加。

这是我的代码:

procedure TForm1.btnAddClick(Sender: TObject);
var
  data1,data2    : TListItem;
  m1,m2,m3       : String;
  dat            : TForm2;
begin
  m1 := EMom1.Text;
  m2 := EMom2.Text;
  m3 := EMom3.Text;

  //listview form1
  data1 := ListView1.Items.Add;
  data1.Caption := m1;
  data1.SubItems.Add(m2);
  data1.SubItems.Add(m3);

  //listview form2  
  data2 := dat.ListView1.Items.Add; {error on this code}
  data2.Caption := m1;
  data2.SubItems.Add(m2);
  data2.SubItems.Add(m3);
data2 := dat.ListView1.Items.Add; 

变量dat尚未初始化。我希望编译器会警告您这一点。我希望你启用了提示和警告。

您需要提供对 TForm2 实例的有效引用。我对您的程序了解不多,无法知道您可以从哪里获得该参考资料。想必你知道答案。

您还应该将添加代码的列表视图项提取到一个方法中:

procedure AddListItem(lv: TListView; s1, s2, s3: string);

然后您可以通过两个不同的列表视图调用此函数两次。

最后,如果您能够切换到使用虚拟列表视图,您将不需要两个数据副本。