AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

2 Formulare verbinden geht nicht :(

Ein Thema von blubber443 · begonnen am 20. Mär 2013 · letzter Beitrag vom 21. Mär 2013
Antwort Antwort
Seite 2 von 2     12
Perlsau
(Gast)

n/a Beiträge
 
#11

AW: 2 Formulare verbinden geht nicht :(

  Alt 21. Mär 2013, 09:29
Eigentlich sollte man es aber vermeiden, dass 2 Klassen sich gegenseitig kennen müssen. Dasselbe gilt für Fomulare (sind ja schließlich auch nur Klassen). Wenn ein Formular eine Schnittstelle (etwa in Form einer Property) anbietet, kann ein anderes darüber auf das Formular zugreifen und ggf. vice versa. Dafür ist es dann aber nicht mehr notwendig, dass das Fomular mit der Schnittstelle das andere kennt.
Richtig. Doch im einen Fall benötigte ich gewisse Manipulationen der Properties nicht vom Mainform aus, sondern auch von anderen Forms bzw. Units. Bestes Beispiel, das mir gerade einfällt: Im AfterScroll-Ereignis etlicher Datasets, die im Datenmodul liegen, sollen bestimmte Anzeigen auf dem Mainform aktualisiert werden, so z.B. die aktuelle Record-Nummer oder eine ComboBox. Ich hatte z.B. eine Zeit lang das Problem, daß ich in DBLookUpCombos keine korrekte Darstellung von Strings, die in der Firebird-DB als UFT8 codiert waren, erreichen konnte. Das lag an den veralteten Datenbank-Komponenten. Da mußte ich auf ComboBoxen ausweichen, und deren ItemIndex mußte nach jedem Scroll der Haupttabelle aktualisiert werden. Wie sollte ich das sonst lösen als durch einen Eintrag von UnitMain in das Implementation-Uses von UnitData (Datenmodul)? Schwierigkeiten hat das zumindest gar keine gemacht, um nicht zu sagen, es hat wunderbar funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: 2 Formulare verbinden geht nicht :(

  Alt 21. Mär 2013, 09:40
Das könnte man z.B. über das Observer-Pattern lösen, indem sich die Comboboxen als Observer des Datasets registrieren, dabei kommt dann eine Art "Data-Binding für Arme" heraus. Ist ein wenig aufwändiger, aber letzten Endes sauberer.
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
mentaltec

Registriert seit: 28. Sep 2012
60 Beiträge
 
#13

AW: 2 Formulare verbinden geht nicht :(

  Alt 21. Mär 2013, 09:43
Hi,

meistens schick ich dem MainForm (Notify)-Messages, wenn so was gebraucht wird; die entsprechenden Datenstrukturen sollten eh nicht im MAinform deklariert werden

oder aber man übergibt dem Subform die Adresse einer Callbackfkt - das iss aber auch nur was für Puristen

mfg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: 2 Formulare verbinden geht nicht :(

  Alt 21. Mär 2013, 09:45
Statt Messages könnte man auch Events verwenden.
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
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:33 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