1. Vorteil, Form2 brauch nicht mal zu wissen das es Form1 gibt(uses).
Das muss die modale Form auch nicht -- jenachdem, welche Daten wie bearbeitet werden. Diese Vorteil ist nicht-existent.
2. Vorteil, Es bleibt alles in Main einschliesslich der gesamten Kontrolle.
Wo genau ist der Vorteil? Ich finde das Verfahren eher komplizierter. In der aufrufenden Form ist das doch übersichtlich und logisch:
Code:
// irgendwas davor
if FormGetData.ShowModal = mrOK then ... else ...
// danach sicher sein, dass alles fertig und weiter geht's
3. Vorteil, Die Variablen bleiben Privat müssen nicht Public oder sogar Global gesetzt werden( je nach dem wie ich die units einbinde).
Na ja, die Daten müssen ja sowieso verwendet werden -- wo auch immer. Dieser Vorteil wäre höchstens für ganz kleine Programme gegeben, die nur aus FormMain und FormProgress bestünden.
4. Vorteil, Ich habe nicht '2' getrennte Anordnungen um sicher zustellen das alles in der Form2, wenn sie Showmodal ist, auch richtig funktioniert und muss mir keinen Kopf machen die Daten nun noch zur MainForm zu schicken!
He?! WENN es funktioniert (oder wenn es eine gute Lösung gäbe), dann müsste man sich auch keinen Kopf machen.
@Angos: Dein Vorschlag mit Form.Diabled ist richtig und wäre das mindeste, was man machen müsste. Eine modale Form löst genau das einfach so.