Показать сообщение отдельно
Старый 15.03.2007, 09:39   #8  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
По поводу propertyHelp()

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

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

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

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

Ну и вот вывод методов, возвращающих значение для propertyHelp()
X++:
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 v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Андре (5).