4D v16.3

VARIABLE TO VARIABLE

Página Inicial

 
4D v16.3
VARIABLE TO VARIABLE

VARIABLE TO VARIABLE 


 

VARIABLE TO VARIABLE ( processo ; dstVar ; srcVar {; dstVar2 ; srcVar2 ; ... ; dstVarN ; srcVarN} ) 
Parâmetro Tipo   Descrição
processo  Inteiro longo in Número de processo de destino
dstVar  Variável in Variável de destino
srcVar  Variável in Variável fonte

O comando VARIABLE TO VARIABLE escreve as variáveis processo dstVar (dstVar2, etc.) do processo de destino cujo número se passa em processo utilizando os valores das variáveis srcVar1 srcVar2, etc.. 

VARIABLE TO VARIABLE tem a mesma ação de SET PROCESS VARIABLE, com as seguintes diferenças:

  • Você passa expressões fonte a SET PROCESS VARIABLE e portanto não pode passar um array como um todo. Deve passar exclusivamente variáveis fonte a VARIABLE TO VARIABLE e portanto pode passar um array como um todo.
  • Cada variável de destino pode ser uma variável ou um elemento de um array, mas não pode ser um array como um todo. Cada variável de destino de VARIABLE TO VARIABLE pode ser uma variável, um array ou um elemento de array.


4D Server: a comunicação processo “Intermachine”, oferecida pelos comandos GET PROCESS VARIABLE, SET PROCESS VARIABLE e VARIABLE TO VARIABLE, é possível unicamente desde o cliente ao servidor. Sempre é um processo cliente o que lê ou escreve as variáveis de um procedimento armazenado.

Para cada par de variáveis dstVar;expr, a variável fonte deve ser de tipo compatível com a variável de destino, do contrário pode terminar com um valor na variável que não tenha significado. Em modo interpretado, se uma variável de destino não existe, é criada e atribui com o tipo e valor da variável fonte.

O processo atual escreve as variáveis do processo de destino, o processo de destino não é avisado de nenhuma maneira de que outro processo está escrevendo a instância de suas variáveis.

VARIABLE TO VARIABLE não aceita variáveis locais como variáveis de destino.

VARIABLE TO VARIABLE aceita todo tipo de variável processo ou interprocesso de destino, a exceção das variáveis de tipo:

  • Ponteiros
  • Arrays de ponteiros
  • Arrays de duas dimensões

O processo de destino deve ser um processo usuário; não pode ser um processo kernel. Se o processo de destino não existe, é gerado um erro. Você pode encontrar este erro utilizando um método de gestão de erros instalado com ON ERR CALL.

Exemplo  

O exemplo a seguir lê um array processo desde o processo indicado por $vlProcesso, sequencialmente converte os elementos para maiúsculas e depois escreve completamente o array:

 GET PROCESS VARIABLE($vlProcesso;at_IPCom_Array;$anArray)
 For($vlElem;1;Size of array($anArray))
    $anArray{$vlElem}:=Uppercase($anArray{$vlElem})
 End for
 VARIABLE TO VARIABLE($vlProcesso;at_IPCom_Array;$anArray)



Ver também 

GET PROCESS VARIABLE
Processos
SET PROCESS VARIABLE

 
PROPRIEDADES 

Produto: 4D
Tema: Processos (Comunicações)
Número 635

Comportamento diferente em modo remoto

 
HISTÓRIA 

Criado por: 4D v6

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)