Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: TObjectList reagiert nicht auf ModifyAction

  Alt 18. Jun 2011, 13:59
Also ich sehe da einige Fehler im Design:
1.) Die Klasse TAnsprechpartnerListe muss in Wirklichkeit TAnsprechpartner heissen, denn es handelt sich um keine "Liste"!!
Nur eine Namensänderung aber daraus folgen weitere Dinge
2.) Die Klasse TAnsprechpartner kann im Grunde genommen nur ein OnChange-Event besitzen, denn sie weiss nicht, ob sie irgendwo hinzugefügt oder gelöscht wurde.
Das Property ModifyAction gehört auch nicht in diese Klasse.
Delphi-Quellcode:
TAnsprechpartner = class
protected
  procedure DoChange;
....
public
  property OnChange:TNotifyEvent read FOnChange write FOnChange;
end;

// Events sollte man immer über eine Hilfsprocedure auslösen
procedure TAnsprechpartner.DoChange;
begin
  if Assigned(FOnChange) then
    FOnChange(self);
end;
3.) Die Klasse TAnsprechpartnerObjListe bekommt natürlich mit, wenn ein Objekt hinzugefügt oder gelöscht wird.
Aber sie kann nicht erkennen wenn ein Objekt der Klasse TAnsprechpartner verändert wird.
Es ist dann aber möglich dass TAnsprechpartnerObjListe beim Hinzufügen eine TAnsprechpartner-Objekts das OnChange-Event auf einen interen Eventhandler richtet und so über Änderungen informiert wird.
  Mit Zitat antworten Zitat