Entwickler-Ecke

Sonstiges (Delphi) - Application als Owner !?


andy - Di 23.07.02 10:50
Titel: Application als Owner !?
Bin in einem bestehenden Code auf folgende Stelle gestossen, und kann mir beim besten willen nicht erklären, weshalb APPLICATION als Owner gewählt wurde:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
TfrmPerson = class(TForm)
  ...
  procedure btnFilterClick(Sender: TObject);
private
  FFilterForm: TForm;
  ...
end;

{ ---------------------------------------------------------------------------- }
procedure TfrmPerson.btnFilterClick(Sender: TObject);
begin
  Screen.Cursor:= crHourGlass;
  try
    if not Assigned(FFilterForm) then
    begin
      FFilterForm:= TfrmPersonFilter.Create(Application);
      TfrmPersonFilter(FFilterForm).Init(self);
    end;
    FFilterForm.ShowModal;
  finally
    Screen.Cursor:= crDefault;
  end;
end;

{ ---------------------------------------------------------------------------- }
destructor TfrmPerson.Destroy;
begin
  if not(csDestroying in Application.ComponentState) then
  begin
    FFilterForm.Free;
    FFilterForm:= nil;
  end;
  inherited Destroy;
end;


Wenn dass Filterform beim Zerstören von frmPerson ja eh ebenfalls freigegeben werden soll, dann wäre doch SELF als Owner zu wählen.

Wer hat eine Idee ? Wann macht es Sinn, APPLICATION zu wählen ?


DeCodeGuru - Di 23.07.02 12:50

Hi,

kann es sein, wenn man Application nicht als Owner angibt, dass man dann keine Messages empfängt. Es steht jedenfalls in der Delphihilfe, dass TApplication für die

Zitat:
Verarbeitung von Windows-Botschaften


verantwortlich ist. Wenn das so ist, leuchtet einem auch ein, dass als Owner Application übergeben wurde.


Renegade - Do 25.07.02 13:40

Ich denke mal, daß hier jemand geproggt hat, der sich sein Wissen durch Bücher und / oder Studium angeeignet hat. Grundsätzlich ist es nählich richtig, daß man als owner die Appllication übergibt.