私は単位参照を好むので、ここにあなたを助けるかもしれないものがあります. が表示される前のリスト ビューが割り当てられているForm2
パブリック プロパティが宣言されています。これで、スコープからリスト ビューにアクセスできるようになり、閉じる前にそこに項目をコピーできます。TargetListView
Form1
Form2
Form1
Form2
最初のユニットの簡略化されたコードは次のとおりです。
unit Unit1;
uses
Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
ListView1: TListView;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TForm2.Create(Self);
Form2.TargetListView := ListView1;
Form2.Show;
end;
2 番目のユニットの簡略化されたコードは次のとおりです。
unit Unit2;
type
TForm2 = class(TForm)
Button1: TButton;
ListView1: TListView;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
TargetListView: TListView;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
I: Integer;
begin
TargetListView.Items.BeginUpdate;
try
for I := 0 to ListView1.Items.Count - 1 do
TargetListView.Items.Add.Assign(ListView1.Items[I]);
finally
TargetListView.Items.EndUpdate;
end;
Close;
end;