Zu 1) Jedes TDataSet hat im Kontextmenü einen Feldeditor mit dem man die Felder statisch erstellen kann. Dann hat man jeweils eine Komponente zum Feld, die man verwenden kann.
Mit allen Konsequenzen, die persistente Felder nach sich ziehen. Ich mache das schon ewig nicht mehr. Wenn man dann noch TDBGrid o.ä. verwendet und dort ebenfalls den Feld-Editor verwendet, kann es schwierig werden. In welchem Feld-Editor muss man die Korrekturen vornehmen, wenn etwas nicht so funktioniert, wie man es erwartet? Bei Programmierung im Team, kann es dann schon eine ziemliche Sucherei werden. Mal abgesehen davon, dass die Suchfunktion im Editor die Sachen im Feld-Editor nicht finden kann.
Bei uns im Team sind persistente Felder jedenfalls ein NoGo.
Zu 2) Wenn man die Antwort zu 1) umsetzt, kann man für jedes Feld das property Value nehmen, das dann vom entsprechenden Typ ist.
Da man bei einer Zuweisung dennoch wissen muss, welcher Typ dahinter steht, halte ich das nicht wirklich für einen Vorteil. Dann sehe ich im Source lieber gleich, welcher Typ das ist, wenn ich As... verwende.
Wenn ich mit vielen Feldnamen im Source arbeiten muss, gibt es eine spezielle
Unit, die alle notwendigen Feldnamen als Konstanten enthält. Vertippen gibt es dann nicht mehr.