Erro em rede Windows 7

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

Comecei a ter este problema nestes dias.
File() retorna falso.
Como o sistema cria arquivos inexistentes, acaba gerando DOS ERROR 1130 porque tenta criar arquivo que está sendo usado.

Rede Windows
- Servidor não dedicado Windows 7
- Notebook Windows Vista
- Uns 9 terminais Windows XP, incluindo um notebook

O limite do Windows XP é de 10 terminais de rede
O limite do WIndows 7 é 20 terminais de rede
Este ano passei a abrir os arquivos na entrada e deixá-los abertos

Poderia ser limite do Windows pra arquivos abertos?
Ou limite de estações, mesmo sendo o servidor Windows 7?
Alguma idéia?

Obs. Uso drive mapeado pra rede, e o ambiente de máquina é o mesmo há meses, talvez até mais de um ano.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Erro em rede Windows 7

Mensagem por janio »

Tive problemas com a função file() no windows7 64 bits. 32 bits ate hoje normal.

Ainda num encontrei solução tbm.
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

A rede inteira é 32 bits.
Mas minha máquina de desenvolvimento é 64 bits, não sei se poderia interferir no EXE gerado.

Também deixei de usar um DBF multitabela,o que multiplicou a quantidade de arquivos.
Pulou de um máximo de 30 DBFs por máquina, para um fixo de uns 90 DBFs por máquina.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Erro em rede Windows 7

Mensagem por asimoes »

Eu resolvi usando o caminho completo com a função hb_dirbase()

IF File(HB_DirBase()+"arquivo.txt")
ENDIF

Não sei se é o caso de vocês.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

mas usa drive mapeado ou direto o endereço do servidor?

File( "z:\aplicativo\arquivo.txt")

ou

File( "\\server\dados\aplicativo\arquivo.txt")

Vou fazer alguns testes, mas no meu caso nem sempre o EXE está na pasta dos arquivos, o que vai complicar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Erro em rede Windows 7

Mensagem por asimoes »

Drive mapeado.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

Vou fazer um teste inicial apenas acrescentando a letra do drive, que é mais fácil.
Talvez o uso da letra "force" o Windows a encontrar o drive.

Perguntaram uma vez porque meus fontes continham #include "jpa.ch"

Tá aí um bom exemplo prático. Vou acrescentar esta linha nele pro teste:
#command File( <cFile> ) => File( iif( ":" $ <cFile>, <cFile>, HB_CurDrive() + ":" + <cFile> ) )

Como tenho o #include "jpa.ch" nos fontes, o resultado é tudo alterado de uma vez.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Erro em rede Windows 7

Mensagem por asimoes »

José,

Experimenta o hb_dirbase(), olhando o arquivo changelog.txt achei esse exemplo.

IF ! hb_FileExists( cIni := hb_dirBase() + "hbide.ini" )
...
ENDIF
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

hb_dirBase() retorna a pasta do EXE, e meus DBFs não ficam na mesma pasta.

mas interessante esse... hb_FileExists()

Não sei se o problema tem a ver com outra invenção Microsoft:
Atualizar pasta de rede OFF-LINE

http://technet.microsoft.com/en-us/libr ... s.10).aspx
José M. C. Quintas
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Erro em rede Windows 7

Mensagem por asimoes »

José,

Desculpe minha falta de observação, isso mesmo hb_dirbase() aponta para a pasta do executável.
Tem também a função fileseek()
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

Achei este texto muito antigo no changelog, tem quase 6 anos....

2007-10-27 16:46 UTC+0100 Viktor Szakats (harbour syenar.net)
* source/common/hbfsapi.c
+ Added hb_fsFileExists(). This is the preferred way to check
for the existence of a file, because it is fast and will
find a file even if directory traversal is not possible
for the file's directory. Works the same way as file
existence check in most other tools.
; NOTE: DOS branch was not compiled or tested (it is a
rewrite of a tested ASM function though).

* common.mak
+ source/rtl/hbfile.c
+ Added HB_FILEEXISTS() Harbour level function to check
for the existence of a file. This works better than
FILE() in most situations, but it doesn't accept any
wildcards.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

Fui no exagero agora, pra ter certeza de qual vai resolver.
Conforme uma falhar, vou alterar a ordem.

Código: Selecionar todos

FUNCTION JPA_File( cFile )
   LOCAL lAchou := .t., cFile2
   cFile2 := cFile
   IF .NOT. ":" $ cFile2
      cFile2 := HB_CurDrive() + ":" + cFile2
   ENDIF
   DO CASE
   CASE File( cFile )
   CASE File( cFile2 )
      MsgExclamation( "Avise a JPA que File( Drive ) funcionou e pra retirar esta mensagem" )
   CASE hb_FileExists( cFile )
      MsgExclamation( "Avise a JPA hb_FileExists() funcionou e pra retirar esta mensagem" )
   CASE hb_FileExists( cFile2 )
      MsgExclamation( "Avise a JPA que hb_FileExists( Drive ) funcionou e pra retirar esta mensagem" )
   OTHERWISE
      lAchou := .f.
   ENDCASE
   RETURN lAchou
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Erro em rede Windows 7

Mensagem por asimoes »

José,

Nos retorne o resultado do teste.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro em rede Windows 7

Mensagem por JoséQuintas »

Nem com tudo isso. Continua o problema.
Mas agora apareceu um novo:
Falta espaço de armazenamento no servidor para processar este comando

Na Microsoft um link indica pra usar números de 1 a 12 num parâmetro específico. (pra NT)
http://support.microsoft.com/kb/106167/pt-br

Já outro link indica pra usar no mínimo o número 15, e aumentar de 5 em 5 até resolver.
http://www.microsoft.com/products/ee/t ... =Erro&LCID

Não sei se esta mensagem apareceu antes ou depois de eu ter mexido
Também existe uma pequena diferença entre os dois, no modo de escrever o nome, sobre quais letras ficam em maiúscula.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Duda 'Sgluber'
Usuário Nível 3
Usuário Nível 3
Mensagens: 148
Registrado em: 11 Mar 2013 21:57
Localização: Interior de São Paulo

Erro em rede Windows 7

Mensagem por Duda 'Sgluber' »

José,

acho q vou escrever o óbvio... mas quem sabe? :-)

No começo deste ano, qdo decidi parar de compilar meu principal sistema com o Clipper e adaptar tudo o q fosse necessário para somente compilar com o Harbour, uma das coisas q aprendi foi q o Harbour distingue nomes de arquivos com letras minúsculas e maiúsculas.

Em outras palavras, em Clipper era indiferente se o nome do arquivo era assim.txt ou ASSIM.TXT: verificando, sempre retornava do mesmo jeito. Em Harbour, constatei q assim.txt é "diferente" de ASSIM.TXT e vice-versa. Algo como um "case sensitive".

No meu caso, alterei todas as referências a nomes de arquivos para maiúsculas.
Comecei pra valer nos tempos do MSX e nunca mais parei... grande caminhada! :-)
Responder