Dmitry_Zolotar писал(а):
Перевірили - працює обробник події OnAdd. Можливо проблема виникає в іншому місці?
Добрий день! Все ж таки на новіших версіях (починаючи з квітня-травня) обробник подій то працює, то не працює. А на старіших працює як годинник.
Я уже пів дня сиджу, вияснюю причину і так і не зрозумів, в чому справа.
Уже пробував найрізноманітніші варіанти.
От для прикладу запустив з одного й того ж самого обмінника формування зразу на багато сторінок, в одній з яких є обробник подій
%Events.OnFileSave. Записав дві процедури перевірки. Одна, коли обробник події на даній сторінці включився:
Код:
08:58:32.283 MAP.SAVETOFILE D:\1Pabota\1travnya\Vinnichenko\Віниченко\ЖиволупОСГ\\Документація\04 Поясн1.dmf
08:58:32.284 $Move=CALC 25
08:58:32.284 25
08:58:32.284 $Move2=CALC 15
08:58:32.284 15
08:58:32.284 $Move3=CALC 110
08:58:32.284 110
...
08:58:32.459 MAP.DESELECTALL
08:58:32.459 0
08:58:32.459 MAP.SELECTLAYER id5
08:58:32.477 1
08:58:32.477 WINDOW.SHOWSELECTED
08:58:32.494 223.307 96.823 792.693
08:58:32.494 MAP.DESELECTALL
08:58:32.504 0
08:58:32.504 WINDOW.REFRESH
08:58:32.515 0
08:58:32.517 D:\1Pabota\1travnya\Vinnichenko\Віниченко\ЖиволупОСГ\\Документація\04 Поясн1.dmf 1
Інша, коли не включився:
Код:
08:51:57.497 MAP.SAVETOFILE D:\1Pabota\1travnya\Vinnichenko\Віниченко\ЖиволупОСГ\\Документація\04 Поясн1.dmf
08:51:57.499 D:\1Pabota\1travnya\Vinnichenko\Віниченко\ЖиволупОСГ\\Документація\04 Поясн1.dmf 1
В другому випадку обробник просто ніяк не зреагував. Так, ніби його там взагалі не існує. При цьому карта збереглася.
Порівняв два файли процедури спеціальною утилітою, яка порівнює кожну букву у двох файлах - файли процедури повністю ідентичні буква в букву за винятком моменту, який наведений вище. Тобто, фактор спрацювання не залежить від ніяких вихідних даних і операцій. Я сформував сотню разів на різних і на однакових обмінниках. І навіть нема ніякої тенденції неспрацювань. Інколи обробник не спрацьовує раз на 4 формування, Інколи 10 разів підряд не спрацьовує і 1 спрацьовує. Запускаю саме формування повністю ідентично з одної кнопки скрипту, який по черзі відкриває кожну сторінку і зберігає її.
Пробував ще такий варіант. Створював папку з шаблонами DMT. Копіював туди той самий шаблон 30 разів. Запускав формування. В результаті обробник інколи спрацьовує на усіх шаблонах, інколи не спрацьовує на 1, 2, 3, 4 і максимум 5 шаблонах із цих 30. При цьому це може бути 15-ий і 27-ий чи 10-ий, 14-ий і 25-ий. Але ніколи не перший. На першому обробник спрацьовує завжди.
На версії за лютий 2019 року обробник завжди працює ідеально.