Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
27. Aug 2013
Lesbar schon, gut testbar weniger.
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
26. Aug 2013
Eine andere Lösung ist eben die von mir angesprochene. Die bevorzuge ich eher. Wir benutzen normalerweise auch eine Datei pro Interface und eine pro Klasse. Mit der Lösung funktioniert das problemlos, egal ob mit Interface oder Klasse: TCustomDogOwner = class
public
procedure Schimpfen;
end;
TDog = class
private
FOwner: TCustomDogOwner;
public
property Owner:...
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
26. Aug 2013
Sofern du zwei Interfaces hast und die Referenz jeweils auf das andere drin hast, geht das auch nicht. Wenn du ein Basisinterface auf einer der beiden Seiten referenzierst, geht das, aber das geht auch bei Klassen.
Und wenn du ein zusätzliches Interface benutzt, musst du erst dieses zusätzliche Interface nehmen, ggf. mit as drauf casten z.B., das ist auch nicht so schön. Aber es kommt halt...
Forum: Object-Pascal / Delphi-Language
Delphi
by jaenicke,
26. Aug 2013
In den meisten Fällen lässt sich das auch viel einfacher durch eine saubere Schnittstelle lösen. Denn die Frage ist doch was man von dem Objekt Hund im Objekt Besitzer machen will. Meistens kann man das auch über Events oder ähnliches lösen.
// Zum Beispiel nicht:
Hund.Bellen;
Hund.Besitzer.Schimpfen;
// sondern:
Hund.OnBellt := Besitzer.HundBelltEvent;
procedure...