Página 1 de 1

SET DBFLOCKSCHEME ?

Enviado: 03 Mar 2011 07:17
por asimoes
Caros ,

No xHarbour temos o comando:

SET DBFLOCKSCHEME TO <nLockScheme>

Que pode ser:

Constants for SET DBFLOCKSCHEME
  • Constant Value Description
    DB_DBFLOCK_DEFAULT 0 Default locking scheme
    DB_DBFLOCK_CLIP 1 Clipper 5.2 locking scheme
    DB_DBFLOCK_CL53 2 Clipper 5.3 locking scheme
    DB_DBFLOCK_VFP 3 Visual FoxPro locking scheme
    DB_DBFLOCK_CL53EXT 4 Emulated shared locking
    DB_DBFLOCK_XHB64 5 Locking scheme for files > 4GB
No harbour também é assim?

Desculpem, tentei colocar certinho mais a fonte não é mono-espaçada.

[]´s

Re: SET DBFLOCKSCHEME ?

Enviado: 03 Mar 2011 10:54
por vailton
Sim, conforme consta no std.ch:
SET DBFLOCKSCHEME TO <nLockScheme>

Sendo que <nLockScheme> é definido em dbinfo.ch como:

/* LOCK SCHEMES */
#define DB_DBFLOCK_DEFAULT 0
#define DB_DBFLOCK_CLIP 1
#define DB_DBFLOCK_CL53 2
#define DB_DBFLOCK_VFP 3
#define DB_DBFLOCK_CL53EXT 4
#define DB_DBFLOCK_HB64 5

Re: SET DBFLOCKSCHEME ?

Enviado: 03 Mar 2011 12:16
por marcos.gurupi
Ok. E ele serve para...

Marcos Roberto

Re: SET DBFLOCKSCHEME ?

Enviado: 03 Mar 2011 12:34
por sygecom
A grosso modo falando ele serve para compartilhar o DBF com aplicativos diferentes(outras linguagens), vamos dizer que você tenha atualizar uma lista de um DBF que é usado por um sistema em FOX PRO, então você seta no inicio do seu sistema:
SET DBFLOCKSCHEME 3
Que você pode alterar os registro do DBF que ficara compatível com o outro sistema em FOX PRO.

Re: SET DBFLOCKSCHEME ?

Enviado: 03 Mar 2011 12:52
por asimoes
Sygecom,

Então o harbour ou xharbour irão trabalhar com o mesmo algoritimo de lock e unlock de registros é isso?

Por exemplo a tabela teste.dbf com indice teste.ntx sendo atualizada por um programa xharbour e outro em clipper

Fazendo lock de registro: clipper e (x)harbour

no (x)harbour faz-se o SET DBFLOCKSCHEME 2 depois de abrir a tabela teste.

teste->(dbrlock())
teste->campo:="teste"
teste->(dbcommit())
teste->(dbunlock())

SET DBFLOCKSCHEME ?

Enviado: 25 Out 2024 14:05
por SOSSOFT
A pergunta é bem antiga, mas do que eu entendi (teria que visualizar os fontes em paralelo para ter certeza), até agora a resposta é sim.

Mas eu usaria DB_DBFLOCK_DEFAULT