Versões comparadas

Chave

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

...

Para utilizar um componente Freeform no Logix são utilizadas são utilizadas três funções AdvPL simples: create_component, set_property e get_property.

Criando um componente

A função AdvPL create_component permite criar uma instância do componente Freeform em memória e retorna o código de referência do componente criado. Esta função recebe por parâmetro o código de referência do componente que será criado, o nome do componente Freeform e o código de referência do componente pai (quando existir).

Nota

Por padrão, o primeiro parâmetro não é mais informado, passando sempre nulo, assim o código de referência será criado dinamicamente pelo framework evitando problemas de referências duplicadas.

Exemplo

Bloco de código
linenumberstrue
FUNCTION vdp20000()
    DEFINE l_dlg_ref VARCHAR(10)
    DEFINE l_pnl_ref VARCHAR(10)
 
    # Componente sem componente pai.
    LET l_dlg_ref = _ADVPL_create_componente(NULL,"LDIALOG")
    
    # Componente com componente pai.
LET l_pnl_ref = _ADVPL_create_componente(NULL,"LPANEL",l_dlg_ref)

Manipulando um componente

A função AdvPL set_property permite executar e manipular métodos e propriedades do componente informado. A função recebe por parâmetro o código da referência do componente que será manipulado, o nome do método que será executado e os valores (limitando-se a 6) para a execução do método.

Nota

Se a referência do componente informada estiver nula ou não for válida, será exibida uma mensagem de erro informado que “componente é inválido” e se o método informado também não for válido, a mensagem de erro irá informar “propriedade informada não prevista para o componente”. Mais informações sobre estas validações podem ser encontradas em Validações Metadado/Freeform.

Exemplo

Bloco de código
linenumberstrue
DEFINE l_dlg_ref VARCHAR(10)
 
LET l_pnldlg_ref = _ADVPL_create_componente(NULL,"LPANEL",LDIALOG")

# Define o título da janela.
CALL _ADVPL_set_property(l_dlg_ref,"TITLE","VDP20000 – Manutenção de Pedidos")
END FUNCTION

# Ativa a janela criada acima.
CALL _ADVPL_set_property(l_dlg_ref,"ACTIVATE",TRUE)