AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

wiederverwendbarkeit .... aber wie?!

Ein Thema von polondo · begonnen am 18. Jan 2006 · letzter Beitrag vom 18. Jan 2006
Antwort Antwort
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#1

wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 06:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 07:05
du könntest dem Unterformular eine Methode hinzufügen nach diesem Muster:
Delphi-Quellcode:
procedure TDeinUnterFormular.ZeigeUnterformular(Oberformular: Byte);
begin
  fOberformular := Byte;
  //füllen der Felder
  Show;
end;
durch das merken welches Oberformular das Unterformular angezeigt hat kann man auch später dies noch abfragen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#3

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 07:48
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.
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#4

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 08:36
Zitat von SirThornberry:
du könntest dem Unterformular eine Methode hinzufügen nach diesem Muster:
Delphi-Quellcode:
procedure TDeinUnterFormular.ZeigeUnterformular(Oberformular: Byte);
begin
  fOberformular := Byte;
  //füllen der Felder
  Show;
end;
durch das merken welches Oberformular das Unterformular angezeigt hat kann man auch später dies noch abfragen.
Zitat von polondo:
Aber kannst Du mir genauer erläutern wie das funktioniert? Ich versteh nicht ganz wie das mit dem Byte gehen soll.
Nun, da hat sich der Sir nur verschrieben, er meinte wohl:

Delphi-Quellcode:
procedure TDeinUnterFormular.ZeigeUnterformular(Oberformular: Byte);
begin
  fOberformular := Oberformular;
  //füllen der Felder
  Show;
end;
Damit merkst sich das Unterform die die Nummer seines Oberform.

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.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
noidic

Registriert seit: 21. Nov 2005
Ort: Mönchengladbach
25 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 09:06
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.
The light at the end of the tunnel may be an oncoming dragon.
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#6

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 09:14
Zitat von noidic:
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.
Und wie benachrichtigt das Unterform seinen Owner über Datenänderungen? Mit TOberform(Owner).NeueDaten? Dann ist man wieder beim Zirkulären dingsda. Außerdem muss sichergestellt sein, dass der Owner vom erwarteten Typ ist. Die Lösung mit einem Ereignis ist flexibler, da dem Unterform der Typ des Oberform Wurscht sein kann.

Zitat von noidic:
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.
Genau das meinte ich mit "abholen", hab mich halt zu kurz gefasst.
Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat. (Winston Churchill)
  Mit Zitat antworten Zitat
polondo

Registriert seit: 1. Sep 2005
84 Beiträge
 
#7

Re: wiederverwendbarkeit .... aber wie?!

  Alt 18. Jan 2006, 09:23
danke für die Antworten!

Ich versuch mich mal jetzt an beiden Lösungsmöglichkeiten und schau was draus wird.

mfg R.
  Mit Zitat antworten Zitat
Antwort Antwort


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