Ich hätte es nicht in die Klasse eingebaut, sondern gegf. in eine Tools-
Unit.
Das mit dem Recordarray ist nicht kompliziert
Delphi-Quellcode:
var
RA:TFieldDefArray;
begin
SetLength(RA,2);
RA[0].Name := 'Feldx';
RA[0].Datatype := ftString;
RA[0].Size := 20;
RA[1].Name := 'Feldy';
RA[1].Datatype := ftboolean;
RA[1].Size := 0;
//Wenn Du nichts einfügen willst
SetLength(RA,0);
Wenn Du die Felder per
SQL schon drin hast kannst Du ein leeres FieldDefArray mitgeben.
Der Fehler "Feldxxx darf nicht leer sein" scheint schon beim alleinigen lesenden Zugriff auf den Dataset aufzutreten das Clientdataset hat ja keine derartigen Einschränkungen zugewiesen bekommen, mit Zeos und
MySQL bin ich allerdings nicht bewandert ...