O problema continua...
Enviado: 27 Jun 2007 00:20
Olá amigos do forum !!!
Eu andei pesquisando por aqui e não encontrei nenhuma postagem que comentasse sobre a falha do comando NETERR() na versão 5.3a do clipper.
Sei que a maioria dos colegas daqui do forum estranhou, pois a sintaxe do comando NETERR() que o amigo Piter Galdiano postou está correta, e mesmo assim apresentava falhas, devido ao BUG existente.
O que acontece na verdade é que, quando se está com um arquivo aberto em modo SHARED, e tenta-se abrir o mesmo arquivo em outra estação em modo EXCLUSIVE, ou o inverso disso, o teste NETERR() é ignorado e aparece o ALERT de erro do clipper: "DOS Error 5", quando na verdade, o programa deveria retornar FALSE, para que o usuário aguarde a liberação do arquivo para poder usá-lo.
Inclusive, na própria documentação dos Patches do Clipper 5.3b, o tal erro é mencionado.
Se pegarmos uma simples rotina e rodá-la em duas estações, como por exemplo:
Compilando essa rotina com o clipper 5.3, a função NETERR() funciona e retorna o erro, para que o sistema aguarde a liberação do arquivo. Com a versão 5.3a, o sistema dá erro.
Porém, na versão 5.3b, a documentação informa que o problema foi resolvido. Mas, como sempre existem as excessões, a versão 5.3b que eu possuo apresenta o mesmo problema.
Procurei pelos links disponíveis para download da versão 5.3b aqui no forum e baixei-as. Nenhuma funcionou.
Então, a solução foi apelar para uma outra solução, que é o exemplo que o Rochinha postou neste tópico.
Mas, em todo caso, se alguém possuir esse Patch da versão 5.3b que funcione corretamente e puder me enviar por e-mail ou disponibilizar um link aqui no forum, eu agradeço.
Abraços a todos !!!
Maickon Sato
Eu andei pesquisando por aqui e não encontrei nenhuma postagem que comentasse sobre a falha do comando NETERR() na versão 5.3a do clipper.
Sei que a maioria dos colegas daqui do forum estranhou, pois a sintaxe do comando NETERR() que o amigo Piter Galdiano postou está correta, e mesmo assim apresentava falhas, devido ao BUG existente.
O que acontece na verdade é que, quando se está com um arquivo aberto em modo SHARED, e tenta-se abrir o mesmo arquivo em outra estação em modo EXCLUSIVE, ou o inverso disso, o teste NETERR() é ignorado e aparece o ALERT de erro do clipper: "DOS Error 5", quando na verdade, o programa deveria retornar FALSE, para que o usuário aguarde a liberação do arquivo para poder usá-lo.
Inclusive, na própria documentação dos Patches do Clipper 5.3b, o tal erro é mencionado.
Se pegarmos uma simples rotina e rodá-la em duas estações, como por exemplo:
Código: Selecionar todos
@ 05, 00 CLEAR TO 20, 79
@ 05, 00 SAY "ABRIR EM <E> OU <C> ?"
@ 06, 00 GET WOPC PICT "!" VALID WOPC $ "EC"
READ
IF WOPC = "E"
SELE 1
USE TESTE EXCLUSIVE NEW
ELSE
SELE 2
USE TESTE SHARED NEW
ENDIF
IF NETERR()
TONE(800,2)
@ 10, 00 SAY "ERRO, ABRINDO: TESTE.DBF"
ELSE
@ 10, 10 SAY "ARQUIVO ABERTO: TESTE.DBF"
ENDIF
INKEY(0)
RETURN .T.
Porém, na versão 5.3b, a documentação informa que o problema foi resolvido. Mas, como sempre existem as excessões, a versão 5.3b que eu possuo apresenta o mesmo problema.
Procurei pelos links disponíveis para download da versão 5.3b aqui no forum e baixei-as. Nenhuma funcionou.
Então, a solução foi apelar para uma outra solução, que é o exemplo que o Rochinha postou neste tópico.
Mas, em todo caso, se alguém possuir esse Patch da versão 5.3b que funcione corretamente e puder me enviar por e-mail ou disponibilizar um link aqui no forum, eu agradeço.
Abraços a todos !!!
Maickon Sato