Função criada na Biblioteca Pública não visível na aplicação - RESOLVIDO

(emmedeiros) #1

Prezados,

Criei uma nova biblioteca do tipo Pública e nesta criei uma função para validação do perfil do usuário a fim de verificar se este possui acesso a tela bem como carregar as configurações para a mesma.
Biblioteca criada: biblioteca_softworld.php
Função:

<?php 1| 2| function VerificaAcesso($tela) 3| { 4| // Verifica permissões 5| sc_lookup(ds_permissoes, "select ... ... RESTANTE DO CODIGO . . . 1| } 32| ?>

No aplicativo form_x, na opção PROGRAMAÇÃO->BIBLIOTECAS, marquei a minha biblioteca pública “biblioteca_softworld.php”

No evento onApplicationInit deste formulário inseri o seguinte código:
$programa = “form_net_usuario”;
if( !(VerificaAcesso($programa) )){
sc_error_message(“Acesso negado !”);
sc_redir(‘menu_principal’);
}
Porém, ao executar o aplicativo e acessar esse formulário, ocorre o seguinte erro:

Fatal error: Call to undefined method form_net_usuario_ini::VerificaAcesso() in C:\Program Files (x86)\NetMake\v5\wwwroot\scriptcase\app\NetAluminio\form_net_usuario\form_net_usuario.php on line 439

Parece-me que a função da biblioteca não está visível para o formulário, mesmo eu tendo marcado a biblioteca para ser utilizada.

Desde já agradeço a atenção.

(emmedeiros) #2

Descobri que esse erro ocorre ao utilizar a chamada da função no evento onAplicationInit.
Coloquei a chamada da função no evento onScriptInit e o problema foi resolvido.

(Haroldo) #3

Lembrando…
onScriptInit é executada sempre com eventos ajax.

aconselho a colocar o seguinte código na primeira linha:

If ($this->NM_ajax_flag) Return;

(emmedeiros) #4

Obrigado pela dica!