Das liegt am
try. Sollte StrToDate fehlschlagen, gibt die Funktion keinen Wert zurück, sondern springt automatisch in den
except-Block
Deine Variable ist nicht initialisiert worden. Und da auch nicht notwendigerweise eine zum Exceptiontyp passende
Exception auftreten wird, kann es sein, das GebDatum auch im
except-Block keinen Wert verpasst bekommt. Am besten vor den Try-Block GebtDatum := 0; hinschreiben, dann meckert der Compiler auch nicht mehr