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)