Odwołanie do elementów formy nadrzędnej

0

Witam,
mam utworzonych kilka form A

var
  FormaA: TForm1;

begin
Forma A := TForm1.Create(Application);

które każda tworzy swoją formę B:

var
FormaB  : TForm4;
begin
FormaB := TForm4.Create(Self);
FomaB.ShowModal;

W jaki sposób odwołać się z FormyB do elementów formy A, z której została utworzona?
Np do ListView FormyA.

ListItem.SubItems.Add(???FormaA???.ListView1.Items.Item[i].SubItems[1]);

Dodam tylko, że tych Form A może być utworzonych kilka jednocześnie, która każda utworzyła swoją FormeB

2
implementation uses Form1;

Jednak lepiej przekaż do Form2 to co cię interesuje z Form1

FormaB := TForm4.Create(ListView1.Items);
FomaB.ShowModal;

oraz

constructor TForm4.Create(List:TStrings);
begin
  inherited Create(Application);
  ListItem.SubItems.Assgign(List);
end; 

Często w formach podrzędnych robię takie o to zabiegi:

class function TForm4.Exectute(List:TStrings):Boolean;
begin
  with Create(Application) do
  begin
    try
      ListItem.SubItems.Assgign(List);
      Result:=(ShowModal=mrOK);
    finally
      Free;
    end;
  end;
end;
0

Tak też zrobiłem i jest ok, dzięki.

procedure TForm1.Button2Click(Sender: TObject);
begin
 if not Assigned(Form4) then
  begin
    Form4:=TForm4.Create(ListView1);
    Form4.Show;
  end
  else Form4.Show;
1

Wewnątrz klasy formularza nie trzymaj danych, które do formularza nie należą i nie są zależne od jego poprawnego działania. Nie będziesz musiał kombinwać z dostępem do nich i ich przekazywaniem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1