Zitat:
wie ich ein Datenfeld überpürüfe ob da was drin steht.
if DBemail.DataField <> ''
...so jedenfalls nicht. DataField ist der Name der Komponente/Field.
https://docwiki.embarcadero.com/Libr...Edit.DataField
Wenn
DBemail 
eine
Query/Tabelle ist:
ok := DBemail.FieldByName('EMailFeld').AsString <> ''
...
Nachtrag:
.Text sieht nach einer visuellen Komponente aus. DBEdit etc. Das ist aber keine gute Idee, die Daten der visuellen Komponenten für Prüfungen zu missbrauchen. Immer über die Datenmenge ist besser.