CDX E HBZIP
Enviado: 08 Jan 2007 16:10
Olá Fórum,
ao escrever uma função para backup e restore, deparei-me com uma situação interessante.
Usando a hwgui, utilizei a função que retorna o nome do arquivo pesquisado/ selecionado, inclusive o diretório com base no windows.
Depois de solicitar confirmação do usuário para restauração, fechei todos os arquivos com dbcloseall() e, com FERASE(), pensei ter apagados os dbf´s e cdx´s.
Contudo, o procedimento retornou erro 2 (FERROR()), ou seja, os arquivos não foram encontrados.
Aí, verifiquei que o path atual não estava ativo, muito embora não o tivesse alterado.
Tudo bem, mandei apagar os arquivos no diretório atual que foi previamente salvo em varíavel.
Beleza, os arquivos de dados e índices foram apagados, sendo restaurado os dados do backup que não contempla os índices.
Mas aí, houve falha na reconstrução dos índices.
Através da POG (Programação Orientada a Gambiarra), optei por informar a situação ao usuario e sair do sistema.
Na nova entrada, os índices são normalmente reconstruídos.
O teste foi feito no Windows 98, e parece que vi alguma coisa sobre a manutenção dos índices na memória.
Como a minha rotina verifica a sua inexistência para criação, creio que o problema seja esse, FILE("?.CDX") sempre retorna .T. .
Tem solução o problema?
Como?
Desde já, obrigado.
MarceloG
ao escrever uma função para backup e restore, deparei-me com uma situação interessante.
Usando a hwgui, utilizei a função que retorna o nome do arquivo pesquisado/ selecionado, inclusive o diretório com base no windows.
Depois de solicitar confirmação do usuário para restauração, fechei todos os arquivos com dbcloseall() e, com FERASE(), pensei ter apagados os dbf´s e cdx´s.
Contudo, o procedimento retornou erro 2 (FERROR()), ou seja, os arquivos não foram encontrados.
Aí, verifiquei que o path atual não estava ativo, muito embora não o tivesse alterado.
Tudo bem, mandei apagar os arquivos no diretório atual que foi previamente salvo em varíavel.
Beleza, os arquivos de dados e índices foram apagados, sendo restaurado os dados do backup que não contempla os índices.
Mas aí, houve falha na reconstrução dos índices.
Através da POG (Programação Orientada a Gambiarra), optei por informar a situação ao usuario e sair do sistema.
Na nova entrada, os índices são normalmente reconstruídos.
O teste foi feito no Windows 98, e parece que vi alguma coisa sobre a manutenção dos índices na memória.
Como a minha rotina verifica a sua inexistência para criação, creio que o problema seja esse, FILE("?.CDX") sempre retorna .T. .
Tem solução o problema?
Como?
Desde já, obrigado.
MarceloG