Ich denke das
function TAnalyse.GetMethode: TMethode;
begin
if Assigned(FAnalyse) then
Result := FAnalyse
else
Result := TAnalyse.NullObject;
end;
[/delphi]
müsste
Delphi-Quellcode:
function TAnalyse.GetMethode: TMethode;
begin
if Assigned(FMethode) then
Result := FMethode
else
Result := TMethode.NullObject;
end;
heissen.
Ich verstehe allerdings nicht ganz, warum damit der Zugriff
Label1.Caption := Analyse.Methode.Name
funktionieren sollte. Der Lesezugriff auf FName erfolgt ja immer noch direkt, d.h. ohne Getter und darin enthaltener Prüfung auf IsNullObject.
Nachteil ist, dass alle Properties über Set/Get erfolgen müssen. Da erscheint ein Dummy einfacher.