Dann nochmal zu deinem Ausgangsproblem, weil ja die Lösung mit ".IsEmpty" für dich nur begrenzt tauglich ist, wenn sie dein XE3 zum Absturz bringt. Offenbar war das mit den StringHelpern dann in der XE3 noch nicht ganz ausgereift.
Dein Problem war ja das hier:
if (MaskEdit_ExitZeit.EditText<>'00:00') or (MaskEdit_ExitZeit.EditText<>'00:00:00') or (MaskEdit_ExitZeit.EditText<>'') then
Kann es sein, dass du hier einfach einen Logikfehler hast? Du prüfst, ob etwas "ungleich A
oder ungleich B
oder ungleich C" ist. Das ist aber
immer "true". Denn wenn der Wert beispielsweise A ist, dann
muss er in dem Moment ungleich B und auch C sein.
Konkret: wenn dein MaskEdiz_ExitZeit.EditText='' ist (also wirklich leer), dann wäre deine dritte Bedingung zwar faöse, aber die beiden anderen ja true, weil eben nicht "00:00" im EditText steht. Durch das "or" ist die Bedingung insgesamt true.
Fazit also: meinst du vielleicht einfach
and statt
or?