Thanks to all, and specially thanks to paweld his code is working fine.
Solved
Edit: just I did a small modification to paweld's code
aParentData.RecNo := aRecArr[i]+1;
RecNo seems to start with 1 instead of 0. Adding +1 solves an access violation, at least on my side.