Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Kommunikation Mutter - Tochterformular

  Alt 12. Sep 2007, 16:13
Die schönste Variante finde ich per Event(Callback):
Delphi-Quellcode:
TForm2 = class(TForm)
[...]
public
  ClbOnHide: TNotifyEvent;
end;
[...]
procedure TForm2.FormHide(Sender: TObject);
begin
  if Assigned(ClbOnHide) then //Entspricht: if (ClbOnHide <> nil) then
    ClbOnHide(Self);
end;
in Form1 sieht es dann so aus:
Delphi-Quellcode:
TForm1 = class(TForm)
[...]
private
  fYourSubForm: TForm2;
  procedure OnSubFormHideClb(Sender: TObject);
end;
[...]
procedure TForm1.OnSubFormHideClb(Sender: TObject);
begin
  ShowMessage('Form2 wurde ausgeblendet');
end;
[...]
procedure TForm1.FormCreate(Sender:TObject);
begin
  fYourSubForm := TForm2.Create(Self);
  fYourSubForm.ClbOnHide := OnSubFormHideClb;
end;
Ich finde diese Variante so schön weil es keine Querverweise bei Units gibts und auch die Objectorientierung gewahrt bleibt da nicht auf globale Variablen zugegriffen werden muss.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat