Páginas filhas
  • LockByName

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Descrição:

Função utilizada para criar um semáforo no servidor de licenças ou em disco.


Sintaxe:

LockByName( < cName >, [ lEmpresa ], [ lFilial ] ) → lCreated


Retorno:

lCreated → Logical, Retorno verdadeiro (.T.) se conseguir criar o semáforo com sucesso, caso não consiga criar ou já exista o retorno será falso (.F.)


Parâmetros:

NomeTipoDescriçãoDefaultObrigatório
cNameCaracterNome do semáforo a ser criado.
X
lEmpresaLogicalSe verdadeiro (.T.), o controle será feito por grupo de empresa..T.
lFilialLogicalSe verdadeiro (.T.), o controle será feito por filial, considerando a filial (considera empresa e filial caso o layout possua).F.


Observações:

A 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.


Exemplo:

Bloco de código
languageapplescript
titleIni
[EnvironmentX]
SourcePath=D:\Protheus\APO\
RootPath=D:\Protheus\
StartPath=\System\
RpoDb=TOP
RpoLanguage=Multi
RpoVersion=120
LocalFiles=ctree
SpecialKey=EnvironmentX
Bloco de código
themeMidnight
titleCódigo
If LockByName("Xisto", .F., .F.) //Lock no ambiente inteiro, pois não considera empresa nem filial
    //Faço meu processamento
    UnlockByName("Xisto", .F., .F.) //Efetuo a liberação do lock após o término do processamento
Else
    MsgInfo("Rotina já em execução", "Framework")
EndIf


Templatedocumentos

HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>