Geraldo,
Sua teoria está correta. Estive pesquisando muito sobre isso e todos me falavam que eu devo usar a melhor tecnologia para determinada situação.
Logo:
Se estiver usando somente VFP, mantenha cursores. Não existe nada mais rápido.
Se estiver usando COM, aí sim vc precisará usar XML (ou ADO) pois não conseguimos passar um cursor entre as camadas.
Aproveitando: Uma solução apresentada é gerar um DBF (no COMponente), fechar esse DBF, usar a função FILETOSTR para gerar uma string deste DBF, retornar essa string para o CLIENTE do COM e no CLIENTE usar a função STRTOFILE para gerar o DBF.
Se você usar essa técnica, a string enviada entre as camadas será muito menor que XML, visto que todos os dados sobre os campos (nome, tamanho, tipo, etc) estão somente no cabeçalho. Já no XML essa informação é repetida a cada dado enviado.
Importante: Isso só funciona se você tiver usando CLIENTE e COMponente escritos em VFP.
Fontes que eu utilizei para pesquisar sobre o assunto: UT (VFP), Wikis, e sites de revistas em inglês.
[]s
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte