Página 1 de 2
Erro em rede Windows 7
Enviado: 17 Abr 2013 20:21
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.
Erro em rede Windows 7
Enviado: 17 Abr 2013 21:39
por janio
Tive problemas com a função file() no windows7 64 bits. 32 bits ate hoje normal.
Ainda num encontrei solução tbm.
Erro em rede Windows 7
Enviado: 18 Abr 2013 09:14
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.
Erro em rede Windows 7
Enviado: 19 Abr 2013 10:50
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.
Erro em rede Windows 7
Enviado: 19 Abr 2013 12:31
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.
Erro em rede Windows 7
Enviado: 19 Abr 2013 13:38
por asimoes
Drive mapeado.
Erro em rede Windows 7
Enviado: 19 Abr 2013 16:20
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.
Erro em rede Windows 7
Enviado: 19 Abr 2013 17:01
por asimoes
José,
Experimenta o hb_dirbase(), olhando o arquivo changelog.txt achei esse exemplo.
IF ! hb_FileExists( cIni := hb_dirBase() + "hbide.ini" )
...
ENDIF
Erro em rede Windows 7
Enviado: 19 Abr 2013 18:12
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
Erro em rede Windows 7
Enviado: 20 Abr 2013 04:35
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()
Erro em rede Windows 7
Enviado: 20 Abr 2013 08:15
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.
Erro em rede Windows 7
Enviado: 22 Abr 2013 13:41
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
Erro em rede Windows 7
Enviado: 22 Abr 2013 13:59
por asimoes
José,
Nos retorne o resultado do teste.
Erro em rede Windows 7
Enviado: 02 Mai 2013 16:37
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.
Erro em rede Windows 7
Enviado: 02 Mai 2013 17:06
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.