Você está usando a constante TBL_FillNormal no populate? ela só popula o que é visível na tela, deixando o resto da carga para quando a barra de rolagem for se movendo. Como o select já está rápido, não sei se isso terá muita utilidade, mas é como estou usando aqui.
-----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Rodrigo Scarano - Target Sistemas Enviada em: terça-feira, 18 de novembro de 2008 16:45 Para: sqlwin@virtualand.net Assunto: RES: [sqlwin] Child Table TD 5.1 - Urgente. Olá George, O select está rápido sim. Na verdade chegamos ao Populate debbugando o programa. Enfim: Estamos pesquisando por aqui. Obrigado pelo apoio. Abração! Rodrigo Scarano Target Sistemas * [EMAIL PROTECTED] Rua Turiassu, 390 - 2º Andar - Perdizes - SP CEP 05005-000 São Paulo Brasil Tel. SUPORTE: 55 11 3866 3466 Tel.: 55 11 3801 4015 site.: www.targetsis.com.br Tecnologia da Informação Aplicada ao Distribuidor -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de George Hilton Enviada em: terça-feira, 18 de novembro de 2008 13:29 Para: sqlwin@virtualand.net Assunto: RES: [sqlwin] Child Table TD 5.1 - Urgente. Rodrigo, seus exemplos são semelhantes ao código que tenho no meu sistema. Infelizmente não sei o motivo dessa demora. Talvez a lentidão não seja por causa da classe que está utilizando e sim a consulta que está trazendo. O select que popula a tabela executa rápido no banco de dados? -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Rodrigo Scarano - Target Sistemas Enviada em: terça-feira, 18 de novembro de 2008 13:42 Para: sqlwin@virtualand.net Assunto: RES: [sqlwin] Child Table TD 5.1 - Urgente. Olá George, Obrigado pelo retorno. Na verdade nosso problema está na lentidão da população de uma tabela MTable (com a função SalTblPopulate) e não na ordenação da mesma. Seguem os exemplos: Função para ordenação da coluna Function: FunColOrdenaColuna Description: Returns Parameters Static Variables Local variables Window Handle: hWnd_col_ordena[*] Number: nu_vet_sort_flags[*] Actions Call SalWaitCursor( TRUE ) Set hWnd_col_ordena[0] = hWndItem If boo_cres Set nu_vet_sort_flags[0] = MTS_DESC | MTS_DT_DEFAULT Set boo_cres = FALSE Else Set nu_vet_sort_flags[0] = MTS_ASC | MTS_DT_DEFAULT Set boo_cres = TRUE If NOT MTblSort( hWndForm, hWnd_col_ordena, nu_vet_sort_flags ) Set boo_cres = NOT boo_cres Call SalTblClearSelection( hWndForm ) Call SalWaitCursor( FALSE ) Código que utilizamos do MTable no SAM_Create da classe Tbl_Child ! Subclass - MTbl Call MTblSubClass( hWndItem ) ! Cores alternadas de fundo nas linhas Call MTblSetAltRowBackColors( hWndItem, FALSE, CTE_Cor_01_Alt, CTE_Cor_02_Alt ) ! Ajusta cor da moldura da tabela ( cabeçalhos ) Call MTblSetHeadersBackColor( hWndItem, CTE_Cor_Tela, MTSC_REDRAW ) ! Habilita e define Tool Tip Call MTblEnableTipType( hWndItem, MTBL_TIP_CELL, TRUE ) Obrigado e um abraço! Rodrigo Scarano Target Sistemas * [EMAIL PROTECTED] Rua Turiassu, 390 - 2º Andar - Perdizes - SP CEP 05005-000 São Paulo Brasil Tel. SUPORTE: 55 11 3866 3466 Tel.: 55 11 3801 4015 site.: www.targetsis.com.br Tecnologia da Informação Aplicada ao Distribuidor -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de George Hilton Enviada em: terça-feira, 18 de novembro de 2008 10:40 Para: sqlwin@virtualand.net Assunto: RES: [sqlwin] Child Table TD 5.1 - Urgente. Rodrigo, Verifiquei os fontes e além da SalTblSortRows utilizamos também a função MTblSort contida na dll mtbl.dll. Eu populo a tabela com um SalTblPopulate normal e depois uso a MTblSort. Qual função você está utilizando para popular a tabela? Nâo percebi diferença no tempo de resposta das duas formas de ordenações. -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de Rodrigo Scarano - Target Sistemas Enviada em: terça-feira, 18 de novembro de 2008 11:01 Para: Centura List Assunto: [sqlwin] Child Table TD 5.1 - Urgente. Prioridade: Alta Olá pessoal. Tudo certo? Estou com um problema urgente e gostaria de saber se alguém pode me ajudar: Quando migramos nosso aplicativo do TD 4.2 para o TD 5.1, o comando SalTblSortRows da Child Table começou a apresentar problemas de GPF. Após várias reclamações o caso foi registrado como um BUG pela Ana Paula (Unify), porém até o momento não foi resolvido. Cansamos de esperar por uma resposta da Unify (até porque acho que eles não estão muito preocupados conosco) e para contornar a situação, passamos a utilizar a classe MTable que não apresenta o problema na ordenação. A questão é q o comando de Populate da MTable é MUITO MAIS LENTO que o mesmo comando na Child Table e isso está inviabilizando a utilização em nossos clientes. Gostaria de saber se alguém do fórum utiliza a classe MTable e já enfrentou este tipo de situação de lentidão. Qquer ajuda é bem vinda. Forte abraço! Rodrigo Scarano Target Sistemas * [EMAIL PROTECTED] Rua Turiassu, 390 - 2º Andar - Perdizes - SP CEP 05005-000 São Paulo Brasil Tel. SUPORTE: 55 11 3866 3466 Tel.: 55 11 3801 4015 site.: www.targetsis.com.br Tecnologia da Informação Aplicada ao Distribuidor