lili Posted June 10, 2005 Report Share Posted June 10, 2005 Mais uma diferença entre FW e FWH. Este problema ocorre aleatoriamente: em alguns clientes, algumas vezes, dá a mensagem Alias already in use: DBUSEAREA que indica que o alias já esta sendo usando em outra area quando tento abrir algum arquivo. Vejo pelo log do sistema que o programa anterior ao que esta sendo executado deixou alguns arquivos abertos, porem nao existe possibilidade disto ocorrer, uma vez que ao final de cada programa todos os arquivos utilizados sao fechados e a rotina finaliza normalmente, nao trava, nem sai do sistema. Como este problema ocorre em programas diferentes, usuarios diferentes está dificil achar uma solução. Lembro que este sistema rodava sem problemas no fw. Mais uma vez vou ter que fazer funcoes adicionais para verificar se os arquivos foram fechados, etc, etc, etc... Lia Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 10, 2005 Report Share Posted June 10, 2005 Ola... Crie o habito de ao sair do ACTIVATE DIALOG, fechar os bancos com: DbBCloseAll() ou oDbfClientes:Close() oDbfFornece:Close() oDbfCaixa01:Close() ou ACTIVATE DIALOG oDlg CENTERED ; ON INIT( oLbx:DeActivate() ) É Isto. Abraços. Bad Boy - São Paulo. -> ( N.E.O.Q.E.A.V. ) kmt_karinha@pop.com.br - 1 GB de Espaço. FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Quote Link to comment Share on other sites More sharing options...
lili Posted June 10, 2005 Author Report Share Posted June 10, 2005 Oi, Kapiaba Mas eu sempre fecho com DbBCloseAll() Isto é que está estranho! Obrigada Lia Quote Link to comment Share on other sites More sharing options...
Kleyton Posted June 10, 2005 Report Share Posted June 10, 2005 Lia, a mensagem está sendo informada sempre referente ao mesmo banco de dados? Se tiver trabalhando com arquivo temporário veja se não está dando o mesmo nome de arquivo em vários processos diferentes. Kleyton Clipper5.2E+Clipper5.3b+Blink7+FW2.0d cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
evandro Posted June 11, 2005 Report Share Posted June 11, 2005 Olá, citação:Lembro que este sistema rodava sem problemas no fw. id=quote>id=quote>O problema aà não tem nada a ver com o FW/FWH. É Clipper x xHarbour. Isto ocorre porque o Clipper é benevolente em relação à tentativa de se abrir um arquivo já aberto, o que não ocorre com o xHarbour. Tenho um sistema bem grande e isto não ocorre. Veja bem a situação e verá que, por algum motivo, a dialog está sendo encerrada sem passar pelo DbCloseAll(). []s, Evandro G. de Paula Curvelo - MG evandro@skillnet.com.br (Escr. - na Cidade) imortal@skillnet.com.br (Res. - na Roça) FWH 2.5+PellesC+xBuild+xHarbour.org 0.99.3 Quote Link to comment Share on other sites More sharing options...
elitenet Posted June 11, 2005 Report Share Posted June 11, 2005 Lia, contornei este problema com uma solucao simples, que é colocar o bloco abaixo dentro da sua funcao de abertura de arquivos antes do DbUsearea. If Select( Alias ) # 0 <- Ve se o alias esta aberto If cModo == "E" <- Se for modo exclusivo fecho para reabri-lo DbClosearea( Alias ) Else dbSelectArea( Alias ) <- Como ja esta aberto seleciono o alias e saio da funcao Return(.T.) EndIf EndIf Marcelo Gomes elitenet@terra.com.br FW 2.3C/CLIPPER 5.2E/BLINKER 7.0 Quote Link to comment Share on other sites More sharing options...
vagner Posted June 11, 2005 Report Share Posted June 11, 2005 Olá Lia, Tive problemas assim também, parece que o xHarbour, não funciona direito o DbCloseAll, q eu uso em todo meus módulos, porém outro dia, tive que fazer uma modificação rápida em um banco de dados e uso o fox para isso, e o pessoal estava somente na tela principal, ou seja todos os arquivos teoricamente fechados, porém acusava que os arquivos estavam abertos, tiveram que sair do programa por completo para liberar os arquivos, como minha abertura de arquivo eu comparo se ele estiver aberto eu reaproveito nunca me deu problema , mas ele teoricamente nunca estaria aberto Vagner Wirts Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 Quote Link to comment Share on other sites More sharing options...
personal Posted June 11, 2005 Report Share Posted June 11, 2005 Não sei se foi no forum ou no msn, que falei a respeito. Pra abrir meus arquivos fazia assim. FUNCTION abreCLIENTE() CLIENTE:=Select("CLIENTE") If (CLIENTE == 0) dbSelectArea(0) Use Cliente Index Indice Alias CLIENTE returnt(.t.) Até então não tinha tido problemas, mas em em programa novo, se desse um pau de programação, simplesmente ele começava a dar o erro acima, nao tinha jeito, tinha que resetar a maquina. mas abrindo o arquivo do modo tradicional, em cada modulo dbSelectArea(0) Use cliente index indice Alias CLIENTE mesmo com o pau de programacao, nao dava o erro acima. Ainda nao sei o porque. Detalhe, está em FW 2.4/clipper 53b Quote Link to comment Share on other sites More sharing options...
Adelson (ADS e TI) Posted June 13, 2005 Report Share Posted June 13, 2005 Oi LILI, Tenho um programa imenso aqui...e em minha tela de atendimento meu sistema abre nada menos que 29 arquivos. Quando saio dessa tela dou um simples CLOSE ALL. Nunca tive problemas desse tipo. VC pode fechar as areas uma por uma tambem ao invés de usar dbcloearea ou close all.... tipo select cliente use select produto use ... e assim por diante. Abraços. A&F Soft WorkShop, Pelles, FWH 2.5 (fevereiro), xHarbor Comercial (fevereiro) Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 14, 2005 Report Share Posted June 14, 2005 citação:Oi, Kapiaba Mas eu sempre fecho com DbBCloseAll() Isto é que está estranho! Obrigada Lia id=quote>id=quote>Experimente Fazer Assim: Na Saida do Modulo. ACTIVATE DIALOG oDlg CENTERED ; VALID( oLbx:lCloseArea() ) // Cheque se ficou algum aberto: ? Alias() Browse() // Tem que retornar Vazio... Eof() RETURN NIL Nos Outros Módulos, Quando For Voltar Para o Banco Principal, Feche sempre o Arquivo que está em Uso. Verifique a Logica de Abertura e chamada de seus arquivos, em algum momento, você está deixando um deles aberto. Bad Boy - São Paulo. kmt_karinha@pop.com.br - 1 GB de Espaço. FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Quote Link to comment Share on other sites More sharing options...
lili Posted June 16, 2005 Author Report Share Posted June 16, 2005 Só hoje pude responder, então vai: Quando dá erro no cliente, eu recebo um log com todas as areas em uso, programas chamados, etc. Então posso verificar o programa, linha, etc. Porisso posso afirmar que o problema ocorre ao acaso, nao é sempre no mesmo programa, tanto que nunca consigo reproduzi-lo. Existem clientes onde o problema nunca ocorre. Porisso acho a idéia do personal a melhor de todas. Obrigada a todos pelas dicas. Lia Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.