Problema com File() & Upper/Lowercase
Enviado: 27 Jan 2014 19:20
Uso multithread. Até pra não ter problema de configuração, criei uma função com os Sets, incluindo os de Upper/Lower.
Fui fazer uma alteração hoje, pra usar multipastas, e passei a ter o que considero um "problema do carvalho" ( ou do "quintas" mesmo ).
Criei esta função, que conforme o nome do arquivo vai acrescentar um path diferente.
Acabei de criar, só tem referência a jpcidade e nenhum outro.
Acontece que na hora de checar existênca de CDX, File() retorna .F.
Se na função PathAndFile() eu acrescentar Upper() funciona.
E isso acontece pra todos os arquivos, não somente pra jpcidade.
Isso significa que os nomes estão corretos, nenhum caractere a mais, mas parece que os Sets() não estão sendo obedecidos.
Harbour 3.2, gtwvg, multithread, Windows 7 64 bits.
No momento sem idéia do que mais procurar.
Já pesquisei a chamada da função dos Sets() e está em cada thread.
Código: Selecionar todos
FUNCTION InitSets()
Set( _SET_FILECASE, 2 )
Set( _SET_DIRCASE, 2 )
RETURN NIL
Criei esta função, que conforme o nome do arquivo vai acrescentar um path diferente.
Acabei de criar, só tem referência a jpcidade e nenhum outro.
Código: Selecionar todos
FUNCTION PathAndFile( cNome )
cNome := Lower( cNome )
IF cNome $ "-jpcidade-"
cNome := AppCommonFolder() + cNome
ENDIF
RETURN cNome
Código: Selecionar todos
File( PathAndFile( cDbf ) )
E isso acontece pra todos os arquivos, não somente pra jpcidade.
Isso significa que os nomes estão corretos, nenhum caractere a mais, mas parece que os Sets() não estão sendo obedecidos.
Harbour 3.2, gtwvg, multithread, Windows 7 64 bits.
No momento sem idéia do que mais procurar.
Já pesquisei a chamada da função dos Sets() e está em cada thread.