Páginas filhas
  • LockByName

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Função: LockByName - Criação de semáforo no servidor de licenças

 

Versões:Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Espanhol , Inglês

 

Descrição:

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

Programa Fonte:
APLIB050.PRW


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

 Exemplo:

 
[EnvironmentX]

SourcePath=
d
D:\Protheus\APO\


RootPath=D:\Protheus\


StartPath=\System\

x2_path=

RpoDb=
Dbf
TOP
RpoLanguage=
English
RpoInterface=Windows
RpoVersion=811
Cisasync=0
LocalFiles=ADS
Trace=0
Multi
RpoVersion=120
LocalFiles=ctree
SpecialKey=EnvironmentX

Observação:

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

2) Não utilize a chave SpecialKey nos ambientes de produção. Ele deve ser utilizado apenas nos ambientes de homologação.
 

Parâmetros:

 

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 cName  Caracter  Nome do semáforo a ser criado.     X    
 lEmpresa  Lógico  Se verdadeiro (.T.), o controle será feito por empresa.     X    
 lFilial  Lógico  Se verdadeiro (.T.), o controle será feito por filial.     X    

 

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>