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.
#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