Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Okt 2020
Ich war mir sicher, dass es im Delphi/Pascal auch einen Compilerschalter gab, wo der Compiler einen Fehler oder eine Warnung warf, wenn das Result einer Funktion nicht ausgewertet wird. (nicht in einem IF, an eine Variable zugewiesen oder als Parameter genutzt)
Aber ich find grade nicht.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Okt 2020
Weil das Exit(False) sonst knallt?
Und ja, diese Exit sind hier schon bissl blöd.
Es ist toll, wenn die Prozedur nicht nur Exit macht, sondern wenigstens noch Funktion noch ein False sagt,
aber erstmal wird oft genug vergessen das Result von Funktionen auszuwerten
und dann macht es die Fehlerbehandung und auch Fehlersuche extrem spannend, wenn man nicht weiß warum die Funktion nichts...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Okt 2020
Ähhh neee?
Dann verhält sich dein Programm ja beim Debuggen womöglich anders, als in echt, was schon ein bissl sinnlos wäre.
Und natürlich geht es nur, wenn es eine Funktion und keine Prozedur ist. Und natürlich auch nur mit Boolean als Result. :stupid:
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
9. Okt 2020
Ich sehe das sogar eher andersrum.
Empfinde es schlecht hässlich, wenn man sinnlos eine weitere Variable benutzt, anstatt direkt Result.
Und von der Preformance her ist das kein Unterschied.
Es kann sogar sein, dass die zusätzliche Variable mehr speicher benötgt, wenn es für den Compiler nicht möglich ist, die Resultvariable (deren Speicherplatz) erst ab der Stelle der Zuweisung zu...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
8. Okt 2020
Nicht immer.
Keine lokalen Variablen und Dergleichen und schon kann Exit auch direkt rausspringen.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
8. Okt 2020
"Logisch" sind ELSE eigentlich passend,
auch wenn beim EXIT das ELSE unnötig wäre.
Wenn man aber mit ELSE und nur Result:= arbeitet, dann hat man z.B. die Chance ans Ende "einen" Haltepunkt zu setzen oder eine Loggingfunktion dort einzufügen, was bei den Exits (zentral) nicht ginge.
Was ich heute in der Hilfe vom VBScript sah .... im Delphi braucht man zum Glück nicht mehr Funktionsname...