4D v16.3CALL FORM |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
CALL FORM
CALL FORM
O comando CALL FORM executa o método de projeto cujo nome passou em metodo com um ou vários param(s) no contexto de um formulário que se mostra em uma janela, independentemente do processo ao que pertence a janela. Da mesma forma que na comunicação entre processos baseada nos workers (ver Sobre Workers), um quadro de mensagem está associado a janela e pode ser utilizado quando a janela mostra um formulário (depois do evento On Load). CALL FORM encapsula o nome de método e seus argumentos em uma mensagem que tenha sido enviada no quadro de mensagens da janela. O formulário abaixo, executa a mensagem em seu próprio processo. O processo de chamada pode ser cooperativo o preemptivo, portanto, esta funcionalidade permite a um processo preemptivo intercambiar informação com os formulários. Em janela, passe o número de referência da janela que mostra o formulário chamado. Em metodo, passe o nome de método de projeto que se executará no contexto de processo pai da janela. Também pode passar parâmetros ao método que utilizam um ou mais parámetros param. Passe os parâmetros da mesma maneira que os passaria a uma subrotina (ver Passando Parâmetros para Métodos). Ao iniciar a execução no contexto do formulário, o método recebe os valores parâmetro em $1, $2, etc. Lembre que os arrays não podem ser passados como parâmetros a um método. Além disso, no contexto de comando CALL FORM, as seguintes considerações adicionais devem ser levadas em conta:
Se quiser abrir duas janelas de diálogo diferentes no mesmo formulário, mas com diferentes cores de fundo e diferentes mensagens. Também deseja enviar mensagens despois e mostrar as mensagens em cada janela de diálogo. No formulário principal, um botão abre os dois diálogos: //Criar método objeto formulários O método doAddMessage só adiciona uma linha num list box no formulario "FormMessage": C_TEXT($1) // nome do chamador Em execução, obtém o seguinte resultado: Depois pode adicionar outras mensagens executando o comando CALL FORM novamente: CALL FORM(formRef1;"doAddMessage";Current process name;"Hello 2 Form 1") Pode utilizar o comando CALL FORM para passar configurações personalizadas a um formulário, por exemplo valores de configuração, sem precisar utilizar variáveis processo: $win:=Open form window("form")
Ver também
|
PROPRIEDADES
Produto: 4D HISTÓRIA
Criado por: 4D v15 R5 ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||