As vezes queremos saber todos os métodos de um determinado objeto, durante o debug conseguimos visualizar os métodos mas como poderíamos salvar todos eles?
Ai que entra a classe ClassMethArr, essa classe retorna um array multidimensional com todas as informações sobre os métodos do objeto passado no parâmetro.
Exemplo de uso do código pode ser baixado aqui.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #Include "Protheus.ch" /*/{Protheus.doc} areaQuad Essa classe retorna um array multidimensional com todas as informações sobre os métodos do objeto passado no parâmetro. @type function @author Rafael Gonçalves @since janeiro/2020 @version 12.1.25 @param nil @return nil /*/ user function sempreju() u_SPCLASSM() return User Function SPCLASSM() //Exemplo de objeto oMsDialog := MSDialog():New(180,180,550,700, 'Exemplo MSDialog' ,,,,,CLR_BLACK,CLR_WHITE,,,.T.) //Parametro 1 - Objeto //Parametro 2 - Se verdadeiro (.T.) retorna todos os parametros, inclusive os parâmetros herdados de outras classes, adiciona o nome da classe na 3ª coluna do array aMethods := ClassMethArr(oMsDialog, .T.) cMethods := PadR( "METHOD" , 30) + "|OWNER" + CRLF //Concateno todas as informações For nI := 01 To Len(aMethods) cMethods += PadR(AllTrim(aMethods[nI, 01]), 30) + "|" + AllTrim(aMethods[nI, 03]) + CRLF Next nI //Salvo MemoWrite( "D:\Rafael\Workspace_SemPreju\SemPreju-Exemplos\Exemplos\Classes\FWMBrowse_Methods.txt" , cMethods) //Salva resultado da ClassMethArr Return .t. |
Bom pessoal, por hoje é só. Qualquer dúvida ou seguestão entre em contato
Abraços e até a próxima.
0 comentário