![]() |
Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Guten Morgen allerseits,
wie gelange ich über das Drücken eines Knopfes auf eine neue Form (altes Design)? Ich muß Variablen aus Form A in Form B übernehmen, Form B aus Form A aus heraus aufrufen/erzeugen (FormB.Show). Die Anweisung Application.CreateForm(TFormB, FormB) habe ich versucht, sowohl im Hauptprogramm als auch über den Prozeduraufruf eines Knopfes in FormA aufzurufen - beides ohne Erfolg. Hat jemand dazu eine Idee bitte? |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Das klingt für mich ein wenig wirr. Sofern ich das richtig verstanden habe wäre es IMO das Einfachste, FormB ein paar Properties zu spendieren. FormA muss dazu FormB kennen, aber nicht umgekehrt. Nun kann FormA auf FormB zugreifen, diese Properties mit seinen eigenen Werten belegen und es anzeigen. Sauberer wäre natürlich eine strikte Trennung von Logik und Darstellung, aber das würde den Rahmen dieses Threads sprengen.
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Noch eine nicht so schöne, aber schnelle Lösung ist es unterhalb von implementation die uses-Liste zu führen
Delphi-Quellcode:
unit FormB;
interface // ... implementation uses FormA; |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
Nur weil kein Unterschied zwischen der Logik/Daten und der Darstellung gemacht wird, gibt es überhaupt solche Fragestellungen. Mein Vorschlag wäre übrigens so etwas wie eine "Daten-Unit" die von beiden Forms aus erreichbar ist. Gruß k-H |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Was DeddyH meint:
![]() |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Exakt!
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
Ereignisprozedur hinzugefügt. High noon, was tun? @DeddyH : Danke für das Beispiel, ich fürchte aber unter XE7 muß das etwas anders aussehen. Mit Create(Nil) bekomme ich kein ordentliches Handle. Ich habe es auch schon mit Create(self) probiert, ebenso ohne Erfolg. Grüße, wonkos2 |
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zeig doch mal Deinen Code. Der Owner hat ja mit Handles nichts zu tun.
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Zitat:
|
AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Und der Nächste, mit dem selben Problem, weiß jetzt natürlich ganz genau, wie du es gelöst hast, wenn er in 1-2 Jahren diesen Beitrag in der SuFu entdeckt. :thumb: :roll:
|
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