Estou mudando todos os DBSeek para MsSeek, porem deu este erro, a linha em questão é essa: ZZC->(msSeek(_cCodCli + _cLojCli + _cCodEmb, .F.))
Teoricamente as duas funções são iguais certo? Se o DbSeek funcionava neste caso, por que o msSeek não funciona?
Edit. Segue o pedaço do index:
cChave1 := "ZZC->CODCLI + ZZC->LOJCLI + ZZC->CODEMB"
cIndZZC1 := CriaTrab(Nil, .F.)
IndRegua("ZZC", cIndZZC1, cChave1,,, "Selecionando Registros...")
DbSetIndex(cIndZZC1 + OrdBagExt())
Patrick, boa parte, como está o índice da ZZC? Verifica como está o índice da mesma com a função IndexKey por favor.
— Daniel Mendes 27 de Aug de 2019Vou adicionar à pergunta.
— Patrick Zerbinatti 27 de Aug de 2019Estamos mudando todos os CriaTrab também, porem ainda não chegamos neste, com a nova tabela temporaria será que funcionará normal?
— Patrick Zerbinatti 27 de Aug de 2019Patrick, antes de chamar o msseek, qual o valor da função IndexKey em relação ao alias ZZC? Caso esteja vazio, alguma valor incorreto, o MsSeek realmente pode gerar erro.
— Daniel Mendes 27 de Aug de 2019Adicionei um novo anexo, que é a função onde da o erro (esta com dbSeek para parar de dar erro), neste caso do codigo ele pode não encontrar nada, seria por isso? Ele teria que ser uma condição de um if?
— Patrick Zerbinatti 28 de Aug de 2019Não acredito que seja por conta de não encontrar registro que o erro é gerado, o MsSeek é um encapsulamento da função DBSeek que mantém dados em memória para efetuar um posicionamento mais rápido, porém caso o RecNo, índice ou a chave do índice esteja inválida, o MsSeek gera exceção.
— Daniel Mendes 28 de Aug de 2019Como eu soluciono isso? Volto pro DbSeek e deixo quieto? Obs. Não pude deixar de notar que este erro só parece ocorrer com os index das tabelas temporárias antigas. Obvio que conforme eu remover o criatrab fica tudo de boa. Mas enfim, cria uma resposta ai para eu te dar os pontos pela ajuda.
— Patrick Zerbinatti 28 de Aug de 2019Você pode voltar o DBSeek, o comportamento da rotina não vai mudar.
— Daniel Mendes 28 de Aug de 2019Sim, esse problema vai sumir quando acabarmos com as tabelas temporárias antigas, mas fica mais ai para ser estudado o por que deste bug.
— Patrick Zerbinatti 29 de Aug de 2019