Aber Achtung: Borland war auf die echt saublöde Idee gekommmen und hat in "einigen" Ableitungen das Value "verdeckt",
so ist z.B. bei TIntegerField das kein Variant mehr, so wie bei TField, sondern ein Integer.
Was ist denn daran blöd? Wenn du das Feld nicht explizit auf einen bestimmten Typ castest, kannst du Value doch als Variant genauso benutzen wie vorher.
Wenn du aber auf einen konkreten Typ gecastet hast, wie zum Beispiel TIntegerField, macht es ja keinen Sinn, wenn dies etwas anderes als diesen Typ widerspiegelt. Denn dann ist es ja der konkrete Typ, der in diesem Feld enthalten ist, bekannt. Da wären die zusätzlichen Konvertierungen ja unnötig.
TField hat alles Mögliche ala AsInteger implementiert.
Und soein Scheiß wiederspricht extrem den Paradigmen der Vererbung.
Es kann doch nicht sein, dass FieldByName().Value was ganz anderes macht, als über Variablen welche explizit diesen Typen haben, obwohl Beides intern ein TIntergerField ist.