Criando Travas de Execução de Rotinas com LockByName em ADVPL

Tempo de leitura: 1 minuto

A função LockByName em ADVPL é utilizada para criar travas / bloqueios (semáforo) de rotinas no servidor de licenças ou em disco, com ela podemos travar uma função, evitando que ela seja executada enquanto estiver sendo usada. Ela é uma das funções de Controle de Semáforo em ADVPL. 

 

Sintaxe:

LockByName(cSem,lEmp,lFil)

 

Parâmetro(s):

Retorno:

 

Exemplo da função LockByName em ADVPL:

//Bibliotecas
#include 'protheus.ch'
/*{Protheus.doc} User Function fLoBName
    (Essa função tem por finalidade mostrar a funcionalidade da função LockByName em ADVPL)
    @type  Function
    @author Adilio Costa
    @since 02/09/2024
    @version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|

*/
User Function fLoBName()
	//Habilitando o semáforo
	If ! LockByName("IDSEM", .T., .F.)
		MsgStop("Semáforo já existente, função não pode ser executada!", "Atenção")
		Return
	EndIf

	//Comandos

	//Desabilita o semáforo
	UnlockByName("IDSEM", .T., .F., .F.)
Return

Observação: A função LockByName trabalha em conjunto com a chave SpecialKey, que pode ser informada no arquivo de configuração do servidor no ambiente corrente, para distinguir os diversos ambientes (produção e homologação).

Em versões que não possuem Servidor de Licenças o semáforo é criado automaticamente em disco.

 

É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.

 
Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.