Protheus :: Obtendo Array das Classes de Objetos com __ClsArr()
Se deseja obter as Classes para uso em Advpl utilize a função __ClsArr(). _Ela retornará um array multidimensional com todas as classes que poderão ser utilizadas em Advpl. No exemplo que postei sobre "Repositório Auxiliar" utilizei essa função para retornar as informações à respeito da classe "RPO".
Sua sintaxe é muito simples: __ClsArr(
Ex.:
Local aClassesArray := __ClsArray()
No Retorno de __ClsArray() obteremos um array com todas as classes, seus "membros", seus "métodos" e "parâmetros dos métodos". O único problema é que os parâmetros corresponderão ao seu tipo e não à sua descrição formal (o que dificulta, um pouco, ao leigos, saber o que passar para eles).
Usando como exemplo o array atribuido à variável aClassesArray teremos, para o elemento 4 as seguintes informações:
aClassesArray[4] //Informações da classe RPO
aClassesArray[4][1] //RPO que refere-se ao nome da classe
aClassesArray[4][2] //Esse elemento refere-se à Classe Pai
aClassesArray[4][3] //Retorna as variáveis "membros" da classe
aClassesArray[4][3][1][1] //Variável DEFINES
aClassesArray[4][3][2][1] //Variável ERRCOL
aClassesArray[4][3][3][1] //Variável ERRLINE
aClassesArray[4][3][4][1] //Variável ERRSTR
aClassesArray[4][3][5][1] //Variável INCLUDES
aClassesArray[4][3][6][1] //Variável MAINHEADER
aClassesArray[4][4] //Métodos da Classe
aClassesArray[4][4][1][1] //Método BASICOPCB
aClassesArray[4][4][1][2] //Parâmetros do Método BASICOPCB
aClassesArray[4][4][2][1] //Método CHKSUM
aClassesArray[4][4][2][2] //Parâmetros do Método CHKSUM
aClassesArray[4][4][3][1] //Método CLOSE
aClassesArray[4][4][3][2] //Parâmetros do Método CLOSE
aClassesArray[4][4][4][1] //Método COMPILE
aClassesArray[4][4][4][2] //Parâmetros do Método COMPILE
...
E assim por diante.
Percorra todos os elementos do array para obter informações de todas as classes disponíveis.
É possível obter os métodos de MsNewGetDados com essa função? Não consegui encontrar essa e nem outras funções de frame.
ResponderExcluirBom dia, gostaria de Deixa meu Agradecimento ao autor, pois a documentação do TDN ainda é muito mal documentada em relação a classe, um exmplo é sobre a MsNewGetDados que até hoje não tem as propriedades da classe na documentação.
ResponderExcluirTentei executar isso:
ResponderExcluirLocal aClassesArray := __ClsArray()
Mas deu mensagem de erro:
Opção não disponivel no Protheus
Função: __CLSARRAY Called By ........ etc.
Boa tarde.
ResponderExcluirGostaria de saber se alguém possui qualquer um dos fontes abaixo.
CFGR510 e ou CFGA510.
Quem tiver e puder me mandar ficaria muito agradecido e ate mesmo uma recompensa poderei dar.
Mas desde já agradeço.
Olá amigo, conseguiu o fonte do cfgr510 ?
Excluir