Dulio,
 
como vc envia as linhas para o relatório ?
vc pode fazer isso linha a linha testando o retorno da função SalTblFetchRow(...)
exemplo:
On SAM_ReportFetchNext
    Loop
        nResult = SalTblFetchRow ( hWndTbl, nRow )
        Set nRow = nRow + 1
        if nResult = TBL_RowFetched
                Return TRUE
        else if nResult = TBL_NoMoreRows
                Return FALSE
        else if nResult = TBL_RowDeleted
               
observe que o teste nResult = TBL_RowDeleted é dispensavel eu só coloquei para exemplificar. Desta forma vc nao precisa utilizar as funções SalTblCopyRows e SalTblPasteRows.
Como o retorno da função SalTblFetchRow  só pode ser RowFetched, TBL_NoMoreRows, TBL_RowDeleted o loop so tera efeito para RowDeleted  ja que nas outras condiçoes o Return entra em ação..
 
 
Espere ter ajudado...
 
Reginaldo Garcia
Sadepe Informática
0xx65 - 624-4574
-----Mensagem original-----
De: Dulio <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Data: Sexta-feira, 8 de Dezembro de 2000 11:27
Assunto: [sqlwin] Falha KERNEL32.DLL com SalTblCopyRows

Caros colegas,
 
Gostaria da ajuda de vcs para solução do seguinte problema:
Possuo uma child table (propriedade discardable NO, max row 32000, e com 11 colunas) que é populada com SalTblPopulate.
Percorrendo essa tabela (SalTblFindNextRow) algumas linhas podem ser deletadas(SalTblDeleteRow - TBL_Adjust).
Essa tabela está sendo enviada para um qrp mas as linhas deletadas estavam sendo enviadas tbém(???). Para afastar esse problema utilizamos a SalTblCopyRows seguida SalTblReset e uma SalTblPasteRows (na mesma tbl) em que as linhas deletadas não são copiadas/coladas.
Testes com dados aleatórios (poucas linhas - 100) a rotina funciona perfeitamente mas agora, com dados reais, essa tabela é populada com aproximadamente 1000 linhas e quando o Centura tenta executar a SalTblCopyRows (debug) apresenta a seguinte mensagem de erro:
"CBI15 causou uma falha de página inválida no módulo KERNEL32.DLL em 0137:bff782af ... esvaziamento de pilha: ..."
(memória das máquinas: 32MB)
 
Obrigado,
 

Responder a