SET EXCLUSIVE*
 Determina uso exclusivo ou compartilhado de arquivos de dados
------------------------------------------------------------------------------

 Sintaxe

     SET EXCLUSIVE ON | off | <xlComuta>

 Argumentos

     ON determina a abertura de arquivos de dados em modo exclusivo (nao
     compartilhado).

     OFF determina a abertura de arquivos de dados em modo
     compartilhado.

     <xlComuta> é uma expressao lógica que deve ser colocada entre
     parênteses.  Um valor de verdadeiro (.T.) é o mesmo que ON, e um valor
     de falso (.F.) é o mesmo que OFF.

 Descriçao

     Em ambientes de rede, SET EXCLUSIVE determina se um comando USE
     especificado sem a cláusula EXCLUSIVE ou SHARED abre automaticamente
     arquivos de dados, memo e de índice em modo EXCLUSIVE ou nao.  Quando
     arquivos de dados sao abertos em modo EXCLUSIVE, eles nao podem ser
     utilizados por outros usuários até que sejam fechados.  Neste modo, nao
     é necessário travar registros e arquivos.

     Quando o EXCLUSIVE estiver em ON (o assumido), todos os arquivos de
     dados e associados sao abertos em modo nao compartilhado (exclusivo), a
     nao ser que o comando USE seja especificado com a cláusula SHARED.
     EXCLUSIVE é usado somente em operaçoes em que haja absoluta necessidade
     de uso exclusivo de um arquivo de dados, tais como PACK, REINDEX, e
     ZAP.

     Quando EXCLUSIVE estiver em OFF, todos os arquivos sao abertos em modo
     compartilhado, a nao ser que o comando USE estiver especificado com a
     cláusula EXCLUSIVE.  O acesso de outros usuários a estes arquivos deve
     ser controlado por programa, através da utilizaçao das funçoes RLOCK()
     e FLOCK().

     SET EXCLUSIVE é um comando de compatibilidade e, portanto, nao é
     recomendado.  Ele está superado pelas claúsulas EXCLUSIVE e SHARED do
     comando USE.

     Consulte o capítulo Programando em Rede no livro Programando e
     Utilitários para mais informaçoes.

 Notas

     Em caso de erro: A tentativa de usar um arquivo de dados que já
     esteja em uso exclusivo de outro usuário gera um erro em tempo de
     execuçao e ajusta NETERR() para valor verdadeiro (.T.).  A funçao de
     erro padrao retorna o controle à declaraçao seguinte ao erro.  Na
     funçao de erro, após o controle retornar ao ponto do erro, você pode
     testar NETERR() para determinar se o comando USE falhou.

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: USE FLOCK() NETERR() RLOCK()