Eu populo o Rx e depois descarrego. Voui tentar explicar melhor. No programa eu tenho o centro de custo(CC). Em cada CC, há um ou vários funcionários. No menu de impressão, eu tenho Impressão Individual e Coletiva. No Individual, funciona, pois eu passo somente um cara. Quando clico no radiobutton de Coletivo, aparece um Edit para eu escolher o centro de custo. Para esse tipo de impressão, tem que ser um Funcionário por página, ou seja, se houver 100 caras no CC, deve imprimir 100 páginas, com o nome de cada um. O RX é populado com o resultado de uma função, que está funcionando. Esta função, não retorna nem o CC e nem o nome do funcionário(Tem que ser assim). Então o nome, eu carrego no próprio While do Funcionário. O problema é que se eu carregar o RX com o nome e se CC, por exemplo, tiver muitos Funcionários, é mais espaço em memória para ocupar, por isso eu prefiro quebrar no código, assim:
QFunc.Firts;
While not QFunc.Eof do
begin
... Faço todas as validações aqui
QFunc.Next;
if QFunc.FieldByName(´Nome´).AsString <> vNomeFunc then
//vNomeFunc - Variável que carrega o nome do funcionário
begin
//Aqui começo a reimpressão em outra página
end;
end;
Mas isso não tem que ser assim, pois se houver outra forma, mas interessante, claro que eu aceito. Essa foi a forma que veio em minha cabeça no momento, mas nada definitivo. Só quero evitar o RX, pelo problema da memória, mas se não der, vai ele mesmo.