Инструменты пользователя

Инструменты сайта


axapta:класс:methodinfo

Раздел: Метаданные


Класс предназначен для получения информации о методе

методы

propertyHelp

как http://axforum.info/forums/showthread.php?p=133127#post133127 гуру AndyD:

Основное предназначение этого метода - получение подсказки для свойств в AOT.

Поясню на примере. Если выбрать в AOT любую форму (ей соответствует класс FORM) и вызвать окно свойств, то в нем будут показан список, соответствующий методам класса Form, возвращающим истину при вызове propertyMethod() класса DictMethod, созданного для этого метода. При этом propertyHelp() вернет строку помощи, отображаемую при выделении свойства в статусной строке (или в хинте при наведении мыши на свойство). Если в форме выделить любой датасоурс (если он есть), то отобразятся свойства, соответствующие классу FormDataSource

Сами значения, возвращаемые методом propertyHelp(), хранятся в ktd-файле (как, впрочем, и отображаемые названия свойств)

Еще propertyHelp() используется при динамическом формировании хелпа для выбранного метода в \System Documentation\Classes, если он (хелп) не был создан

Ну и вот вывод методов, возвращающих значение для propertyHelp()

static void GetPropertyHelp(Args _args)
{
    TreeNode treeNode = TreeNode::findNode("\\System Documentation\\Classes");
    DictClass   dictClass;
    DictMethod  dictMethod;
    int i;
;
    setPrefix("Список методов с установленной строкой помощи");
    treeNode = treeNode.AOTfirstChild();
    while (treeNode)
    {
        dictClass = new DictClass(className2Id(treeNode.treeNodeName()));
        if (dictClass)
        {
            SetPrefix(dictClass.name());
            for (i=1;i<=dictClass.objectMethodCnt();i++)
            {
                dictMethod = dictClass.objectMethodObject(i);
                if (dictMethod && dictMethod.propertyMethod() && dictMethod.propertyHelp())
                {
                    info(strfmt("%3::%1::%2", dictMethod.propertyMethod()==1, dictMethod.propertyHelp(), dictMethod.name()));
                }
            }
        }
        treeNode = treeNode.AOTnextSibling();
    }
}
axapta/класс/methodinfo.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)