Bitte, bitte, bitte mal Programierstile angewöhnen, also grundsätzlich sollte man if .. then immer in begin .. end setzen auch wenn es nur eine zeile ist also
if ... then
begin
.
end
else
begin
.
end;
So Org.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| function TListe.findeObjekt(ykey:string, yObjekt:Tobject):TObject; begin if Key:yKey then result:=Objekt; else if not (Nachfolger:=nil then) result:=Nachfolger.findeObjekt(yKey) else result:=nil; end; |
Änderung:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function TListe.findeObjekt(ykey:string, yObjekt:Tobject):TObject; begin if Key = yKey then begin result:=Objekt; end else begin if Nachfolger <> nil then begin result:=Nachfolger.findeObjekt(yKey); end else begin result:=nil; end; end; end; |
gesachtelte if then if then sind dann auch besser lessbar und man sieht die Fehler schneller.
Es ist bei diesem Problem wahrscheinlich besser eine TCollection und TCollectionItem zu benutzen damit hat man die komplette Kontrolle über die Liste und sogar der public Property's der Item objecte