Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#8

AW: Variable aus anderem Formular übernehmen

  Alt 18. Jun 2020, 08:04
Ich mache das immer etwas anders.

Ich referenziere nach Möglichkeit nie die aufrufende Form, wenn es sich vermeiden lässt. Da ich die aufzurufende Form eh in die Uses der aufrufenden Form aufnehmen muss, setze ich auch von dort die Daten.

Delphi-Quellcode:
procedure TMainForm.btnEdit(Sender: TObject);
begin
  frmDetails.edtName.Text:=BeispielObject.Name;
  frmDetails.edtAlter.Text:=IntToStr(BeispielObject.Name);
  if frmDetails.ShowModal=mrOK then
  begin
    BeispielObject.Name:=frmDetails.edtName.Text;
    BeispielObject.Alter:=StrToInt(frmDetails.edtAlter.Text);
  end;
end;
Bei Umfangreicheren Datenstrukturen übergebe ich nur den Zeiger auf das Objekt oder schreibe mir ein Assign, mache mir also eine Kopie in eine Object, welches als Public in der frmDetails deklariert ist, und verteile die Daten dann im TfrmDetails.OnFormShow.

So vermeide ich Rückwärtsbeziehungen. Ich bestimme den Zeitpunkt, wann und wie meine Variablen in der aufrufenden Form aktualisiert werden.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat