Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
Все-таки, по какому критерию при перекомпиляции каше считает, что класс устарел? Я пока закономерности не вижу. В каше 2007 проблема осталась :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 15:36 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
А что пишет? У меня было только "up-to-date". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2007, 15:47 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
авторА что пишет? так и пишет - компилишь класс А, пишет: класс Б устарел. Причем я пытаюсь удалять глобал ^oddDEP, какием-то образом ответственный за связи. Но устаревание в нем не хранится, если уже каше поняло, что класс устарел, удалять глобал бесполезно. Но с неудаленным глобалом вообще почти нечего скомпилить нельзя. Закономерности в указании класса Б не вижу, иногда вообще непонятно, а он то к классу А какием боком? На базах с одинаковой конфигурацией класс А может на одном скомпилиться нормально, а на втором сказать, что устарело. Чем для меня опасна для меня эта ситуация? 1.Например я закатываю небольшие изменения на рабочую базу, например редко используемую csp-страничку. Страничка не компилится, показывает,что какой-то класс устарел. Матерюсь, начинаю компилить класс Б, показывает на класс С. Класс С один из корневых. Оставлять в таком (непонятно скомпилировлось или нет - непонятно) состоянии неприятно. Ночную работу мне не оплачивают, нажимаю компилить класс А вместе со связанными, предварительно удалив глобал ^oddDEP, понимая, что падают процессы, большинство из которых не в транзакции. Флаги fv при длительной компиляции не помогают. 2.Если я все-таки соберусь сделать закачку и компиляцию классов ночью, я рискую на утро вообще получить выведенную из рабочего состояния базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2007, 06:37 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
Сомнительно что удаление глобала для системы проходить бесследно... Нужно смотреть с какими параметрами компилируете... У студии достаточно забавные ключи. Для csp - флагов "cd" из терминального d $system.OBJ или d $system.CSP (хотя их лучше все таки классами распространять) достаточно. Для редких случаев "cdru". Все остальное записить от "плетения" классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 07:50 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
Без удаления глобала каше вообще компилит только через CompileAll Иначе ей циклично кажется, что кто-то из классов А,Б,С устарел и ни один из них она не компилит. Но почему ей так кажется и откуда она берет эту информацию? Что вообще означает устаревание классов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 09:26 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
Информацию она берет из Super, полей-ссылок и в том числе SQL запросов внутри класса. Типичный пример устаревания - когда базовый класс скомпилирован позже своих предков. Чем чаще делать CompileAll да еще и без "u" тем хуже будет потом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 09:38 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
В принципе, понятно, откуда он берет информацию о связности. Super, поля-ссылки, используемые в коде классы. Также при компилляции класса Б, если в нем есть ссылки на класс А, в классе А прописываются связки на класс Б. Для этого, как понимаю, и нужен отдельный глобал oddDEP, все остальные связи можно просчитать во время компилляции. Когда базовый класс компилен позже своих потомков - это понятно, потомки устарели, но это явно не единственная причина устаревания. А если классы А и Б друг друга используют и при компиляции класса А автоматически стареет класс Б? Потом, при компиляции класса С, в котором используются А и Б,пойдут проблемы, что один из классов устарел? У нас вся база скомпилирована через CompileAll("-u") при переносе из каше 4.1. Это теперь вечное проклятье :'(? или CompileAll("u") мне поможет? Сделал, в первый раз что-то компилила, второй раз ничего. Интересно, помогло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2007, 10:03 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
такая же фигня. а что говорит суппорт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 19:10 |
|
||
|
Устаревание классов
|
|||
|---|---|---|---|
|
#18+
Саппорт говоит, вроде есть како-то adhoc, но под нашу версию он не сделан. Обещали переделать под нашу каше, а если не поможет - разбираться дальше. Пока могу посоветовать d isuptodate^%occClass("myclassname",,0,1) для определения того, что же устарело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 21:36 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34691603&tid=1559254]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 265ms |
| total: | 409ms |

| 0 / 0 |
