Hi Sebastien and Reuben,
I did some experiments and made it work.
The problem was that I didn't know how to make the equivalent of (count=-1) in the Dynamic Dialog version. Without that fgl_dialog_getbufferlength() and fgl_dialog_getBufferStart() don't work as expected. I had to call d.setArrayLength() after creating the Display Array Dialog
CALL d.addDisplayArrayTo( thFielList, theSreenRecord )
CALL d.setArrayLength( theSreenRecord, -1 )
Infomix SQL allows me to select only certain rows using SKIP and FIRST:
SELECT SKIP ofs FIRST len field1, ..., fieldn FROM ...
I prepare the select and only get the rows based on what is returned by fgl_dialog_getbufferlength() and fgl_dialog_getBufferStart().
Works very well.
Thanks
Luis