Página 1 de 1

LetoDB - erro 1031 em dbunlock() com uso de transações

Enviado: 03 Nov 2010 00:12
por alaminojunior
É isso aí meus caros.
Fazendo umas experiências aqui com uso de transações, dá um erro Leto/1031 sempre na função dbunlock().
Por acaso poderiam me dizer qual o enrosco ?
O seguinte trecho está entre o BeginTransaction e CommitTransaction, e sempre na linha com dbunlock() acontece o erro.

Código: Selecionar todos

      sele cdcli000
      do while .t.
         if !rlock()
            millisec(100)
            loop
         else
            exit
         endif
      enddo
      repl clideb with vencido+vencendo
      //dbcommit()
      //dbrunlock()
      sele cdcor000
      set scope to

Re: LetoDB - erro 1031 em dbunlock() com uso de transações

Enviado: 03 Nov 2010 10:05
por alaminojunior
Sem o controle de transação, funciona.
Já recriei os índices também.
Os tipos estão corretos sim, já verificado.
Por curiosidade, pedindo as informações foi obtido:
recno() = 1
lastrec() = 5067
__setCentury() = .T.

O erro retornado é:
Error LETO/1031 Erro de sintaxe Arguments: ()
Error at ...: DBUNLOCK(0) in Module:

Re: LetoDB - erro 1031 em dbunlock() com uso de transações

Enviado: 03 Nov 2010 12:41
por alaminojunior
Pois então Eric, eu fiz isso. Como esta tabela está aberta apenas por um usuário nesta rotina específica, retirei as chamadas DbUnlock() e deixei para depois do Leto_CommitTransaction, daí foi beleza.
Eric.Developer escreveu: pelo que entendi não se pode usar DBUnLock quando se usa controle de transação, de certo modo faz algum sentido
Eu imaginei a mesma coisa.

De qualquer modo, obrigado pelo interesse.
Abraço.

Re: LetoDB - erro 1031 em dbunlock() com uso de transações

Enviado: 03 Nov 2010 19:00
por luizservulo
Buenas, vou perguntar pros amigos se estão ou tem compilada a LetoDB para versão Xhb 1.2.1 com Bcc582?


se tiver pode me dizer como estão conseguindo compilar, ou me fornecer ela ja compilada para testes ?

Re: LetoDB - erro 1031 em dbunlock() com uso de transações

Enviado: 03 Nov 2010 19:20
por alaminojunior
Eu compilo exatamente com estas versões.

1º "Descomentar" a linha do makefile.bc onde tem

Código: Selecionar todos

#XHARBOUR = yes
no prompt do DOS
2º Setar SET HB_PATH=c:\xharbour // com o caminho da sua instalação do xharbour
3º Execute no prompt: make_b32 clean
4º Execute no prompt: make_b32

Somente isso.

Tente aí, se não conseguir me avise que disponibilizo de alguma forma.

Em tempo: eu baixo o LetoDB do CVS.