Stehen alle in der Hilfe.
Und wie gesagt, ist DAS hier auch keine Lösung.
Die Lösung ist den Wert zu initialisieren, entweder vorher oder im Else, da die Funktion sonst mehr dem Russisch Roulette entspricht.
Naja, es gibt halt Fälle, bei denen der Compiler zu Unrecht mosert. Das ist ganz "toll", wenn sich das von Version zu Version ändert, man also z.B. bei der einen Compiler-Version eine eigentlich unnötige Zuweisung braucht, damit der nicht rummosert, die bei einer anderen Compiler-Version dann aber als unnötig angemosert wird. Innerhalb eines Projekts kann man noch den Code für eine bestimmte Compilerversion "optimieren", aber spätestens bei einer
Unit in einer Library, die von mehreren Projekten verwendet wird, ist das nicht mehr so einfach.
Zum Glück sind diese Fälle einigermaßen selten.