AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

Ein Thema von wonkos2 · begonnen am 9. Mär 2015 · letzter Beitrag vom 10. Mär 2015
Antwort Antwort
Seite 2 von 2     12   
wonkos2

Registriert seit: 18. Nov 2014
21 Beiträge
 
Delphi XE7 Professional
 
#11

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 09:10
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.
OK, dann will ich mal beschreiben, was ich gemacht habe: Der Hinweis, meine FormA (also die primäre) unterhalb der unteren Uses-Klausel, nämlich innerhalb der implementation unterzubringen, hat meine zirkuläre Referenz aufgelöst. Jetzt muß ich nur noch das Variablenproblem lösen, dann bin ich einen Schritt weiter. OK?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 09:45
Und was spricht gegen die Lösung von DeddyH und mir? Anstatt so ein Gewurstelt mit den uses Klauseln?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#13

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 09:47
Ja eben. Auch wenn der Compiler jetzt zufrieden ist, bleibt ja die Tatsache, dass sich beide Formulare gegenseitig kennen müssen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#14

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 09:52
bleibt ja die Tatsache, dass sich beide Formulare gegenseitig kennen müssen.
Besser nicht!

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, ...
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Mär 2015 um 09:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#15

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 09:53
Genau darum geht es Luckie und mir doch, wurde aber nicht umgesetzt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#16

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 10:11
Genau darum geht es Luckie und mir doch, wurde aber nicht umgesetzt.
Ups, falsch gelesen verstanden.

Zusammen mit der übersehenen Antwort von wonkos2, ergibt es mehr Sinn.


Zitat:
hat meine zirkuläre Referenz aufgelöst.
Nicht aufgelöst, sondern nur abgeschwächt.

Und das Abschwächen kann böse Nachwirkungen haben. (Initialisierungsreihenfolge)
Besser möglichst alle Units nur im Interface einbinden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 10:11
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (10. Mär 2015 um 19:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Arbeiten mit mehreren Forms, Vermeiden zirkulärer Referenz (XE7)

  Alt 10. Mär 2015, 19:20
@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.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz