Jump to content
Fivewin Brasil

Alias already in use: DBUSEAREA


lili

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 icon_smile_wink.gif, mas ele teoricamente nunca estaria aberto icon_smile_big.gif

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 icon_smile_big.gif

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...