Estou escrevendo um fonte para copiar algumas tabelas, porém está dando este erro do título. Alguém sabe o que pode ser o erro? Segue trecho do fonte:
#include "protheus.ch"
User Function TestCopy()
DBUSEAREA(.T.,"CTREECDX",'SED0101', "SED", .F., .T.)
cFileIni := 'system\sed0101.dtc'
cFileFim := 'BACKUP\sed0101_bkp.dtc'
If ! MsCopyFile(cFileIni, cFileFim)
MsgAlert("O arquivo não pôde ser copiado.")
Else
MsgAlert("O arquivo foi copiado com sucesso.")
EndIf
Return
ERRO:
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Anne,
Para corrigir seu fonte basta deixá-lo desta forma, era apenas um erro de sintaxe no uso da função MsCopy:
#include "protheus.ch"
User Function TestCopy()
cFileIni := '\system\sed0101.dtc'
cFileFim := '\BACKUP\sed0101_bkp.dtc'
If ! MsCopyFile(cFileIni, cFileFim,'CTREECDX')
MsgAlert("O arquivo não pôde ser copiado.")
Else
MsgAlert("O arquivo foi copiado com sucesso.")
EndIf
Return
Se for apenas uma operação de cópia simples de uma pasta para outra no próprio servidor pode usar a função __CopyFile(cFileOrig,cFileDest), esta função faz apenas uma cópia simples e direta (a MsCopyFile é para arquivos de banco de dados). Esta função inclusive permite mais flexibilidade, você pode copiar servidor-servidor, servidor-cliente, cliente-cliente, cliente-servidor, e até com nomes de arquivo diferentes.
Também existe as funções CpyT2S(https://tdn.totvs.com/display/tec/CpyT2S) que faz a cópia de um arquivo do servidor->cliente mantendo o mesmo nome original do arquivo, e a função CpyS2T(https://tdn.totvs.com/display/tec/CpyS2T) que faz o caminho reverso. ATENTE que estas funções mantém o mesmo nome de arquivo original.