Leider hat es aber auch was mit Performance zu tun. Der Zugriff über FieldbyName ist bis zu 4x langsamer als wenn man ein FeldObjektt benutzt. Deshalb verwenden wir zwar, ausser in datensensitiven Formularen zwar auch FieldByName, aber bei Schleifen mit entsprechenden Optimierungen, so dass es nur einen Aufruf ausserhalb der Schleifen gibt:
Delphi-Quellcode:
var
QryBestandID : TField;
begin
...
QryBestandId := QryBestand.FieldByName('Id');
...
while not QryBestand.Eof do
begin
if QryBestandId.AsFloat ...
...
qryBestand.Next;
end;
end;