ML
Executar metodo de outra classe via TAction
Classe a ser chamada:
Chamada:
Erro apresentado:
Notice: Array to string conversion in C:xampp2htdocssicweblibadiantiwidgetbaseTElement.php on line 250
Notice: Array to string conversion in C:xampp2htdocssicweblibadiantiwidgetbaseTElement.php on line 323
class SIC_FUN extends TElement
{
public function verificarPermissao(){
.......
}
}
Chamada:
$inc = new TAction(array('SIC_FUN', 'onClick'));
Erro apresentado:
Notice: Array to string conversion in C:xampp2htdocssicweblibadiantiwidgetbaseTElement.php on line 250
Notice: Array to string conversion in C:xampp2htdocssicweblibadiantiwidgetbaseTElement.php on line 323
Eu sempre faço assim e dá certo:
A diferença que tem para outros é que esta classe que estou chamando não é pagina do tipo TPage ou TWindow, ela é uma classe minha que tenho varias funções que vão ser necessárias em todo o sistema.
Por que você está herdando a classe TElement?
Sem esse extends ele procura a classe show(), daí tentei resolver herdando de TElement, mas também não resolveu.
dando esse erro:
Fatal error: Uncaught Error: Call to undefined method SIC_FUN::show()
Declare as funções como static, aí pode retirar o extends TElement.
Só fiquei em dúvida sobre a utilização de TAction para chamar essas funções. O TAction é utilizado mais para navegação entre controls. Quando preciso usar funções auxiliares faço diretamente:
Estou usando esta chamada para verificar se o usuario tem permissão para tal ação.
Isso faz parte de uma implementação de Controle de Acesso por metodo (Incluir,Alterar,Excluir,Imprimir)
Agora la dentro do metodo static precisarei redirecionar a pagina.
Creio que não vai redirecionar pelo fato de ser static,
usando por exemplo: AdiantiCoreApplication::loadPage('pagina','metodo');
Valeu Nataniel, deu certo utilizando STATIC.