Hola webmasterplc.
La idea que te sugirió
duilioisola es la correcta, seguramente se trate de algún error sintáctico o de implementación. Por otro lado recuerda que es de mucha ayuda que escribas textualmente el mensaje de error que estas recibiendo (el código donde se produce tampoco viene mal).
Para que compruebes que funciona, te pongo un ejemplo donde desde una tabla, se ván cargando once campos en un ListBox cada vez que se hace click en un botón:
Código Delphi
[-]
...
implementation
var
Count: Integer = 0;
procedure TForm1.BringEleven(var Count: Integer);
begin
IBQuery1.Close;
IBQuery1.SQL.Text:='SELECT FIRST(11) SKIP(11*:NUM) UN_CAMPO FROM TU_TABLA';
IBQuery1.ParamByName('NUM').AsInteger:= Count;
IBQuery1.Open;
if not IBQuery1.IsEmpty then
begin
while not IBQuery1.Eof do
begin
ListBox1.Items.Add(IBQuery1.FieldByName('UN_CAMPO').AsString);
IBQuery1.Next;
end;
Inc(Count);
end
else Count:= -1
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Count <> -1 then
begin
BringEleven(Count);
ListBox1.Items.Add('----------------------------');
end;
end;
te queda adaptarlo a tus necesidades.
Saludos