![]() |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Und was spricht gegen die Lösung von DeddyH und mir? Anstatt so ein Gewurstelt mit den uses Klauseln?
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Ja eben. Auch wenn der Compiler jetzt zufrieden ist, bleibt ja die Tatsache, dass sich beide Formulare gegenseitig kennen müssen.
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
Einer bietet Schnittstellen (Funktionen/Events/Property) an und der Andere benutzt sie, ohne daß Ersterer weiß wer/was er ist, bzw. ob es ihn überhaupt gibt. Nur so ist es wiederverwendbar, austauschbar, wartbar, ... |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Genau darum geht es Luckie und mir doch, wurde aber nicht umgesetzt.
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
Zusammen mit der übersehenen Antwort von wonkos2, ergibt es mehr Sinn. Zitat:
Und das Abschwächen kann böse Nachwirkungen haben. (Initialisierungsreihenfolge) Besser möglichst alle Units nur im Interface einbinden. |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Auf die ganz billige Art und Weise löst man das mit einem DataModule.
Dort sind die Daten und die Forms zeigen die Daten an. Schon kennen die Forms nur noch das DataModule und nicht mehr sich selber untereinander. |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
@wonkos2
Damit Du vielleicht besser verstehst, was die Profis meinen: Man solle z.B. den Kunden-Vornamen nicht in EditVorname.Text speichern. Wenn Du eine Rechnung druckst, muss sonst der Reportgenerator Deine Formularinstanz kennen. Die Daten und die Geschäftslogik sind daher besser in eigenen Klassen aufgehoben oder hilfsweise in einem Datenmodul. Die Formulare sind eigentlich nur eine Schnittstelle für den Anwender. Du kannst natürlich Dein Projekt mit den Daten und Geschäftslogik in Formularen umsetzen, aber wenn Du später Dein Projekt mal ausbauen willst wirst Du dann erhebliche Probleme bekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz