Ändere den Source mal wie folgt:
Delphi-Quellcode:
FDQuery.SQL.Text := 'Select * from Settings';
FDQuery.Open;
if FDQuery.RecordCount = 0 then
begin
FDQuery.Append;
FDQuery.Edit;
FDQuery.FieldByName('zugang').AsString := '???'; // Beschreiben ohne Fehlermeldung
FDQuery.Post;
end;
settings.zugang := FDQuery.FieldByName('zugang').AsString;
//... hier werden noch andere Felder gelesen
Wenn du den Fehler nicht mehr bekommst, ist der Fehler in den Bereich, wo du noch was mit mit den anderen Feldern machst.
Falls der Fehler aber immer noch da ist, kann ich spontan nicht sagen, was das sein kann.