Página 2 de 2

Enviado: 15 Ago 2005 07:21
por Clipper
Prezado Janio

Eu também abro e fecho meus DBF´s conforme vou usando, utilizo a TRAVAJAN() tranquilamente, porém neste caso você não poderá usar DBCLOSEALL() ou CLOSE ALL, você terá que fechar os arquivos individualmente com DBCLOSE().

Até logo.

Marcelo

Enviado: 16 Ago 2005 00:53
por Vander
A função é a do amigo clipper, porém não é a versão para XP e eu abro e fecho os arquivos DBF a cada módulo de acordo com a necessidade e funciona perfeitamente.

Aqui esta a função

Código: Selecionar todos

*---------------------------------------------------------------*
* Esta fun‡Æo impede que um sistema seja aberto mais de uma vez *
* fa‡a a cahamada dela no inicio do sistema                     *
* Exemplo                                                       *
* IF TRAVAJAN()=.F.                                             *
*    //Sai do sistema
*    QUIT // Ou RETURN  
* ENDIF
*                                                               *
*---------------------------------------------------------------*
*-----------------*
 FUNCTION TRAVAJAN
*-----------------*
IF !FILE("CONTROLE.INI")
   VA=FCREATE("CONTROLE.INI",0)
   FWRITE(VA,"[ Arquivo de Controle do Sistema ]")
   FCLOSE(VA)
ELSE
   VA=FOPEN("CONTROLE.INI",1)
   IF FERROR()<>0
      CLS
      @ 02,00 SAY "O Sistema ja esta sendo executado..."
      @ 03,00 SAY STRZERO(FERROR(),3)
      @ 04,00 SAY STRZERO(VA,3)
      @ 05,00 SAY REPLICATE("=",40)
      RETURN(.F.)
   ENDIF
ENDIF
RETURN(.T.)

Enviado: 16 Ago 2005 00:54
por Vander
A função é a do amigo clipper, porém não é a versão para XP e eu abro e fecho os arquivos DBF a cada módulo de acordo com a necessidade e funciona perfeitamente.

Aqui esta a função

Código: Selecionar todos

*---------------------------------------------------------------*
* Esta fun‡Æo impede que um sistema seja aberto mais de uma vez *
* fa‡a a cahamada dela no inicio do sistema                     *
* Exemplo                                                       *
* IF TRAVAJAN()=.F.                                             *
*    //Sai do sistema
*    QUIT // Ou RETURN  
* ENDIF
*                                                               *
*---------------------------------------------------------------*
*-----------------*
 FUNCTION TRAVAJAN
*-----------------*
IF !FILE("CONTROLE.INI")
   VA=FCREATE("CONTROLE.INI",0)
   FWRITE(VA,"[ Arquivo de Controle do Sistema ]")
   FCLOSE(VA)
ELSE
   VA=FOPEN("CONTROLE.INI",1)
   IF FERROR()<>0
      CLS
      @ 02,00 SAY "O Sistema ja esta sendo executado..."
      @ 03,00 SAY STRZERO(FERROR(),3)
      @ 04,00 SAY STRZERO(VA,3)
      @ 05,00 SAY REPLICATE("=",40)
      RETURN(.F.)
   ENDIF
ENDIF
RETURN(.T.)

Enviado: 16 Ago 2005 08:41
por Marcos
Também utilizo a Função do amigo Marcelo que funciona perfeitamente, atendendo minhas necessidades.
Abraços,
Marcos.