Eine Rückfrage im Forum ZeosLib hat alles bestätigt. Es wird je Row im
Query-Result max. 32 kb reserviert. Interessant dabei ist, dass jeweils der maximal benötigte Platz eines Feldes verwendet wird, unabhängig ob sie NULL, leer, nur 2 Zeichen oder bis zu ihrer definierten Größe belegt ist. Das heist eine Feld varchar(200) belegt bei der Abfrag über Zeos immer 200 Byte im Speicher, egal was drin steht.
Das erklährt bei 330 Feldern schon so einiges (hab's jetzt aber nicht nachgerechnet).
Hier der Link zum Thread (wenn das hier an dieser Stelle nicht erlaubt, bitte bescheid geben)
http://zeos.firmos.at/viewtopic.php?t=3531
Ab Zeos 7 soll der Buffer auf 64 kb erhöht sein.