Как обезопасить патч или переопределить SWC-класс во Flex?
Я использую SWC из проекта Axiis для отображения визуализаций в проекте, над которым я работаю. Я столкнулся с ошибкой, когда перекомпиляция библиотеки swc была бы простым решением, но я могу использовать только ошибочную версию swc.
У меня есть исходники Axiis и я скомпилировал версию с исправленной ошибкой, хотя я не могу использовать ее из-за ограничений версии клиента.
Кто-нибудь знает, как я могу использовать обновленный класс / файл Actionscript в моем коде, чтобы он переопределял класс SWC?
1 ответ
Я не уверен, разрешено ли вам делать следующее: поместите класс с вашим исправлением в исходный путь вашего основного приложения. Если вы убедитесь, что имена пакетов и классов точно совпадают с исходным классом, компилятор подберет этот класс вместо того, который указан в библиотеке. Мы делаем это часто, когда мы хотим исправить патч платформы Flex без необходимости самим компилировать библиотеки.
Другая идея может состоять в том, чтобы использовать AS3Commons-Bytecode для создания прокси класса, который вы хотите исправить, и затем заставить ваш код работать на прокси вместо исходного экземпляра. Это чисто исправление во время выполнения. Он немного более продвинутый, и он будет работать только в том случае, если вы сможете каким-то образом заставить прокси заменить исходный экземпляр класса, который вам нужно исправить.