Тема: HK Framework
Показать сообщение отдельно
Старый 03.08.2009, 07:38   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
362 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
-> Небольшие штрихи
Цитата:
Сообщение от DSPIC Посмотреть сообщение

Спасибо за внимание. Надеюсь, большое количество букв не сильно утомило и HK Framework для кого-нибудь окажется полезным.
Спасибо, за HK Framework!

При импорте проекта в DAX 4.0 (Aplication Version 4.0.1633.11) возникли ошибки компиляции HKProject\buildAOTStruct, ошибка в строке
X++:
TreeNode        methodNode, classNode;
по всей видимости из-за того, что объет типа classNode уже существует в AOT, предлагаю такой вариант :
X++:
    TreeNode        methodNode;
    TreeNode        classNode;
Так же нашел небольшой побочный эффект в цепочке
Цитата:
Класс --> Класс родитель --> Класс родитель --> ... --> Базовый класс
В случае, когда базовый класс не имеет предков, но в нем есть ссылки на поля таблицы или меню итемов(в этом случае именно они и открываются в новом окне), к примеру, при нажатии на Ctrl + J на классе HKEditor в новом окне открывается не класс(по идее ничего не должно быть), а поле таблицы

Предлагаю такой вариант устранения помарки(HKAOT\aotJump), вместо :
X++:
        case UtilElementType::Class:
            sysDictClass = new SysDictClass(className2Id(treeNode.treeNodeName()));
            if (sysDictClass && sysDictClass.extend())
                treeNodeTargetPath = strFmt(#ClassNamePath, classid2name(sysDictClass.extend()));
            break;
вот такой код
X++:
        case UtilElementType::Class:
            sysDictClass = new SysDictClass(className2Id(treeNode.treeNodeName()));
            if (sysDictClass && sysDictClass.extend())
                treeNodeTargetPath = strFmt(#ClassNamePath, classid2name(sysDictClass.extend()));
            else
            {
                return;
            }
            break;
И небольшая опечатка про \Classes\Info\onEventGoingIdle(видимо поздно было, когда выкладывали Framework ),подразумевался код
X++:
//Event fired by kernel when the client goes idle.
//It is not fired during CTRL-Break dialog.
void onEventGoingIdle()
{
    this.operationProgressClear();
    this.endLengthyOperation(true);
    // HK "Hot key framework", evo 30.07.2009 -->
    HKManager::startHKManager().run(false);
    // HK "Hot key framework", evo 30.07.2009 <--
}
Вообщем, спасибо!
__________________
Sergey Nefedov