![]() |
wiederverwendbarkeit .... aber wie?!
hi,
Ich hab ein Unterformular mit Kundendaten das von 3 verschiedenen Oberformularen genutzt werden soll. Bei einem Klick soll ein bestimmtes Feld auf dem Oberformular gefüllt werden von dem das Unterformular aus erzeugt / ausgeführt wurde. (per klick in ein Edit Feld auf dem Oberformular soll das Unterformular angezeigt werden) Nur wie krieg ich mein Unterformular dazu sich zu merken von welchem Oberformular es stammt, um dann das richtige Feld auf dem richtigen Oberformular zu füllen. Ich möchte gerne das Erzeugen von 3 Unterformularen mit exakt denselben Daten umgehen. Weiß einer weiter? Gibt es da eine Lösungsmöglichkeit mit "Sender as Tobject"?!!? mfg R. |
Re: wiederverwendbarkeit .... aber wie?!
du könntest dem Unterformular eine Methode hinzufügen nach diesem Muster:
Delphi-Quellcode:
durch das merken welches Oberformular das Unterformular angezeigt hat kann man auch später dies noch abfragen.
procedure TDeinUnterFormular.ZeigeUnterformular(Oberformular: Byte);
begin fOberformular := Byte; //füllen der Felder Show; end; |
Re: wiederverwendbarkeit .... aber wie?!
Erstmal Danke für die Antwort!
Aber kannst Du mir genauer erläutern wie das funktioniert? Ich versteh nicht ganz wie das mit dem Byte gehen soll. |
Re: wiederverwendbarkeit .... aber wie?!
Zitat:
Zitat:
Delphi-Quellcode:
Damit merkst sich das Unterform die die Nummer seines Oberform.
procedure TDeinUnterFormular.ZeigeUnterformular(Oberformular: Byte);
begin fOberformular := Oberformular; //füllen der Felder Show; end; Da sich hier beide Units gegenseitig benötigen, hat man Probleme wegen des zirkulären Bezugs, falls beide Units die jeweils andere im Interface-Abschnitt einbinden. Eine andere Möglichkeit wäre ein Ereignis "OnEditfeldGeklickt" im Unterform. Das Oberform kann sich in der entsprechenden Ereignisbehandlung die Daten von Unterform abholen. |
Re: wiederverwendbarkeit .... aber wie?!
Warum noch einen extra PArameter übergeben? Im Konstruktor wird doch bereits der Owner übergeben, dass ist ja das Oberformular, wenn man das Unterformular mit TUnterformular.Create( self ) aufruft.
Ich würde dennoch nicht das Unterformular Felder des Oberformulars befüllen lassen sondern auf dem Unterformular Properties bereitstellen, woraus das Oberformular die Daten für seine Felder bezieht. Dann gibts auch keine Probleme mit Zirkulärreferenzen. |
Re: wiederverwendbarkeit .... aber wie?!
Zitat:
Zitat:
|
Re: wiederverwendbarkeit .... aber wie?!
danke für die Antworten!
Ich versuch mich mal jetzt an beiden Lösungsmöglichkeiten und schau was draus wird. mfg R. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz