Olá amigos...
Imaginem que possuo um CURSOR criado com o comando CREATE CURSOR num componente COM e convertido para XML através do CursorToXml(), com geração do schema "in line".
No cliente, o documento XML é recebido do componente COM e convertido para CURSOR local através do XmlToCursor().
O CURSOR, recém convertido, é buferizado através de CursorSetProp( "Buffering", 5 ) e são feitas algumas alterações em alguns campos.
Agora vou mandar o resultado de volta para o componente COM no servidor, aproveitando-me da nova função do VPF 7.0 para tratamento de documentos XML que é a XmlUpdateGram().
Com isto espero mandar para o servidor apenas os campos que sofreram alterações, diminuindo o documento transferido e agilizando o processo.
Agora imaginem que o CURSOR criado no componente COM (início da questão) possui um campo do tipo MEMO.
O problema é que não estou conseguindo gerar um documento XML através do XmlUpdateGram() que contenha a alteração efetuada nos campos do tipo MEMO.
Dei uma olhada no help do VFP 7.0 a respeito e só encontrei o seguinte: "Use the CursorSetProp( ) function to avoid possible errors generated by XMLUpdateGram( ) on tables containing Memo or General fields."
Testei com vários parâmetros da função CursorSetProp(), mesmo sem saber ao certo o que a mensagem do help acima queria dizer, na verdade, e vários erros ocorreram, a maioria fazendo referência a impossibilidade de usar aquele parâmetro: "property is invalid for tables cursors.".
A questão é: não tem jeito de usar a função XmlUpdateGram() em Cursores contendo campos do tipo MEMO?
Sei que poderia usar a função CursorToXML(), mas o arquivo gerado seria muito mais complexo e maior em tamanho, visto que teria que gerar o schema junto.
Se alguém maceteado no assunto souber a solução (ou que não há solução) favor postar uma resposta a esta mensagem, pois estou concluindo minhas classes padrão para desenvolvimento em VFP 7.0 usando COM+/XML e preciso desta informação.
Já procurei algo no site da Microsoft e até mesmo aqui pelo UT mas não consegui encontrar nada a respeito da função XmlUpdateGram().
Carlos Moisés