Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Retorno e observações da função atualizadas
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle
IPCGo
IPCGo

...

Função: IPCGo

Envia

...

uma

...

chamada

...

para

...

uma

...

thread,

...

que

...

não

...

precisa

...

ser

...

necessariamente

...

do

...

mesmo

...

ambiente,

...

que

...

está

...

em

...

espera.

Sintaxe

Bloco de código
collapsefalse
IPCGo( <
cSemaforo> ) --> Nil
 cSemaforo > )

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

cSemaforo

...

caractere

Indica o local ou semáforo em que as threads foram iniciadas. Observação: O semáforo especificado não deve conter letras minúsculas. Todas as letras informadas no semáforo devem ser maiúsculas.

X

 

Retorno

...

Nome

Tipo

Descrição

bRet

L

Retorna .T. caso a requisição foi enviada a um IpcWaitEx() em espera.

Observações

  • Esta função recebe mais 15 argumentos opcionais para passagem de dados, porém esse valor não pode ser do

...

  • tipo bloco de código ou lógico.
  • Ao especificar o semáforo que desejamos, no parâmetro <cSemaforo>, a função pegará a primeira thread livre que encontrar na

...

lGoOk := IpcGo( SEMAFORO, "Enviando dados via IPC - a hora é: " + time() )
  • IPCWaitEx().
  • Caso não exista nenhum semáforo em espera com o nome especificado no momento da chamda da função IpcGo(), ela retorna .F. imediatamente. 

Exemplos

Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
#DEFINE SEMAFORO 'IDUNICOTESTE'

#DEFINE SEMAFORO 'IDUNICOTESTE'

User Function ipcgo()
  StartJob("U_ipcjobs",GetEnvServer(),.F.)
  StartJob("U_ipcjobs",GetEnvServer(),.F.)
  

  Sleep( 7000 )
  
  IPCGo( SEMAFORO, "Data atual " + cvaltochar(date()) )
  
Return

User Function ipcjobs()
  Local cPar
  while !killapp()
    lRet := IpcWaitEx( SEMAFORO, 5000, @cPar )
    if lRet
      conout(cPar)
      exit
    endif
  enddo
Return

Abrangência

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus

...

10 , TOTVS Application Server 10 , ByYou Application Server

Veja

...

também