|
![]() |
#1 |
----------------
|
приложение для разработки есть? (там проблем нет?)
модифы переносите проектами? с идентификаторами удалением\пересозданием объектов или как-есть? Случай загадочный, конечно. Обычно такое приключается после правки classDeclaration где-то в родительском классе и лечится инкрементной компиляцией. Не понятно, что может "само" периодически портить уже откомпилированные классы. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Wamr
![]() приложение для разработки есть? (там проблем нет?)
модифы переносите проектами? с идентификаторами удалением\пересозданием объектов или как-есть? Случай загадочный, конечно. Обычно такое приключается после правки classDeclaration где-то в родительском классе и лечится инкрементной компиляцией. Не понятно, что может "само" периодически портить уже откомпилированные классы. Случай действительно загадочный и впервые в моей практике |
|
![]() |
#3 |
Ищущий знания...
|
![]()
Вчера вечером стал очевидцем отказа классом потомком вызывать метод new() своего родителя. Как получилось такое восстановить....
Есть класс наследник от RunBase, назовем его ClassGeneral. В классе ClassGeneral унаследован метод new() и в нем выполняются некие действия. От класса ClassGeneral унаследовано куча классов, в основном отчетные классы. Понадобилось мне создать подобие одного из таких классов, назовем его ClassReport1. Соответственно что бы все заново не переписывать и не мучить кнопки Ctr+C и Ctrl+V воспользовался замечательной функцией дублирования, доступной по правой кнопке мыши. Сдублированный класс переименовал как мне надо, пусть будет ClassReport1_Copy, внес все нужные изменения. Запускаю свой класс и... При инициализации класса ClassReport1_Copy ни в какую не хочет выполняться метод new() класса родителя! (ClassGeneral ). Никакие танцы с бубнами (Глобальная компиляция, инкрементная компиляция класса ClassGeneral, обновление словаря, обновление данных, обновление ADO) не помогают. Так же не помог и экспорт\импорт класса (экспортировал, удалил, импортировал), что меня удивило ![]() Помогло только ручное создание класса-дубликата. Ещё нюанс. Такое явление наблюдается только при дублировании старых классов, которые уже давно были созданы. Попробовал восстановить такое поведение с помощью новой иерархии тестовых классов. Все нормально дублируется. Метод new() класса родителя выполняется как не крути. З.Ы. Ax3.0 SP3 Может кто сможет у себя такое поведение восстановить...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#4 |
Участник
|
Тогда резонно предположить, что ошибка скорее всего закралась в какую-то систему кэширования, и процедура дублирования (в отличии от ручного создания) не обновляет информацию в кэше. Причём кэш может сбоить как на сервере так и на клиенте. Для AX2009 клиент создаёт некие файлы вот в этой папке c:\Users\%username%\AppData\Local\. С тройкой работал давно, сейчас уже не вспомню было ли там аналогичное кэширование на клиенте. Попробуйте воспроизвести ошибку под новым профилем с чистым кэшем.
|
|
|
За это сообщение автора поблагодарили: lev (2). |
Теги |
runbase |
|
![]() |
||||
Тема | Ответов | |||
Связи между таблицами 1:N и N:1 | 10 | |||
Связи между таблицами. | 7 | |||
связи между таблицами при установлении прав доступа | 9 |
|