Mensagem de erro na abertura de arquivo usando Blinker 7
Moderador: Moderadores
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Mensagem de erro na abertura de arquivo usando Blinker 7
Passei a usar o Blinker 7 em alguns programas meu, porém estou tendo o seguinte problema, na minha função de abertura de arquivo, quando tendo abrir um dbf no modo exclusivo, está dando erro DBFNTX/1001, DOS ERROR 5, que é acesso negado, quando já tem alguem usando o arquivo. Sendo que quando eu linko com o Rtlink, nao aparece esse erro, e consigo fazer o tratamento dentro da minha funcao, retornando para o usuario que o arquivo nao pode ser aberto no modo exclusivo.
Como posso resolver isso ?? Pois esses programas nao estou mais conseguindo fazer rodar com o Rtlink por problemas de memória.
Grato.
Sandro
Como posso resolver isso ?? Pois esses programas nao estou mais conseguindo fazer rodar com o Rtlink por problemas de memória.
Grato.
Sandro
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Caro Sandro,
Seja linkado com RTLINK ou BLINKER a abertura em modo EXCLUSIVO do DBF será dado apenas uma única vez com sucesso. Você deve saber que isto não é recomendado fazer quando o sistema está em rede. Não sei qual é a sua necessidade de abertura em modo exclusivo, mas de qualquer forma você precisaria criar um procedimento "semáforo" que avise ao usuário que fulano de tal está usando tal coisa. Eu fiz o seguinte teste:
USE CLIENTES EXCLUSIVE
INKEY(0)
E compilei com opção /B para acompanhar com o CLD (debugger do Clipper) e o resultado após a segunda execução foi que não conseguiu abrir o arquivo, dá "AREA NOT IN USE". Então sugiro que o colega mude seu aplicativo incorporando funções de tratamento para modo COMPARTILHADO e se precisar fazer alguma operação que seja em modo exclusivo faça uma cópia do DBF no local "C:" e trabalhe alí de forma temporária.
Seja linkado com RTLINK ou BLINKER a abertura em modo EXCLUSIVO do DBF será dado apenas uma única vez com sucesso. Você deve saber que isto não é recomendado fazer quando o sistema está em rede. Não sei qual é a sua necessidade de abertura em modo exclusivo, mas de qualquer forma você precisaria criar um procedimento "semáforo" que avise ao usuário que fulano de tal está usando tal coisa. Eu fiz o seguinte teste:
USE CLIENTES EXCLUSIVE
INKEY(0)
E compilei com opção /B para acompanhar com o CLD (debugger do Clipper) e o resultado após a segunda execução foi que não conseguiu abrir o arquivo, dá "AREA NOT IN USE". Então sugiro que o colega mude seu aplicativo incorporando funções de tratamento para modo COMPARTILHADO e se precisar fazer alguma operação que seja em modo exclusivo faça uma cópia do DBF no local "C:" e trabalhe alí de forma temporária.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
eu só uso mode exclusivo para indexar e dar pack...
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Eu também uso quando o sistema precisa indexar. E faço a indexação atrelada ao protetor de telas. É dizer faço a indexação quando o sistema está ocioso. De todas formas, sempre é conveniente fazer um semáforo para essas operações. Uma checagem simples e que funciona quando se quer o uso modo exclusivo é:
Código: Selecionar todos
SELE 1
USE ("ARQUIVO.DBF") EXCLUSIVE
ENQUANTO=NETERR()
DO WHILE ENQUANTO=.T.
BEEP()
BEEP()
BEEP()
ALERT("Para proseguir, solicite pro outro terminal do sistema e aguarde a liberacao;;Confirme quando for OK.")
SELE 1
USE ("ARQUIVO.DBF") EXCLUSIVE
ENQUANTO=NETERR()
ENDDOUm clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Pois é Pablo, eu so uso o modo exclusivo para indexar tambem,e já tenho a funcao para abrir o arquivo que verifica se a abertura ocorreu normal, usando a funcao neterr(), onde faço todo o tratamento, o problema é que depois que passei a usa o blinker, está me parecendo que o probrama nem chega à funcao neterr(), a impressão que da é que no comando use exclusive ele já acusa o erro (dos error 5).
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Verifique o atributo do arquivo dbf que está tentando abrir. Muito provável que esteja com atributo +R ou como "somente leitura" (visto pelo Windows Explorer). Isso geralmente acontece quando é gracado de um CD e este esteja em este modo.acusa o erro (dos error 5)
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Re: Mensagem de erro na abertura de arquivo usando Blinker 7
Eu já vi coisas muito estranhas acontecerem sem a menor pista. Também já vi soluções nada convencionais, que de fato resolveram, como por exemplo resintalação. Como não custa nada, você pode tentar reinstalar o BLinker, cuidando para instalar a versão full, como a do meu site.SandroBelarmino escreveu:Passei a usar o Blinker 7 em alguns programas meu, porém estou tendo o seguinte problema, na minha função de abertura de arquivo, quando tendo abrir um dbf no modo exclusivo, está dando erro DBFNTX/1001, DOS ERROR 5
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Aliás, mostrar o código fonte não vai ajudar nada, haja vista que no RTLink funciona perfeitamente. Só foi trocado o linker. Mas você pode mostrar o script de linkedição usado no BLinker. Talvez haja alguma coisa fora do "encaixe". Mas o fonte em si não deve ter problema algum. Senão, não funcionaria no RTLink também.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!

