|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Столкнулся с непонятным для меня поведением программы. Есть форма и подчиненная форма на ней. Разместил на главной элемент управления - список. Источник строк для него формирую по событию Current подчиненной формы. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Непонятность заключается в том, что событие зацикливается: хотя список на главной форме формируется как надо, что-то дергает событие обновление подчиненной формы, она обновляет список, снова ... Вот отладчик: SELECT id, mp_groups, key_name, frequency_WS, frequency_WS1, frequency_WS2 FROM keys WHERE mp_groups = 9031 ORDER BY frequency_WS DESC SELECT id, mp_groups, key_name, frequency_WS, frequency_WS1, frequency_WS2 FROM keys WHERE mp_groups = 9031 ORDER BY frequency_WS DESC ну и так далее бесконечно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 01:32 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Автосрабатывающие события надо расцикливать. Ну как минимум (если потери событий не влияют на процесс) типа Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 09:07 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212, Посмотри в хелпе "Order of events for database objects". По-видимому, где-то переводится фокус на форму или она активируется и потому наступает событие Current. В принципе, можно это выявить дебаггером если пройтись пошагово (F8) после остановки программы в процедуре Current ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 09:35 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212Разместил на главной элемент управления - список. Источник строк для него формирую по событию Current подчиненной формы. Непонятность заключается в том, что событие зацикливается: хотя список на главной форме формируется как надо, что-то дергает событие обновление подчиненной формы, она обновляет список, снова ... Как связаны главная и субформа. Участвует ли в этой связке ваш список? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 11:41 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Основная форма и подчиненная - каждая на своей таблице. Связь один-много. Список ни к какому полю не привязан (свободный). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 12:08 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212Анатолий ( Киев ), Основная форма и подчиненная - каждая на своей таблице. Связь один-много. Список ни к какому полю не привязан (свободный).Список может быть свободным, но при этом - участвовать в связке субформы (т.е. имя этого списка фигурирует в свойстве LinkMasterFields контрола субформы) - и тогда это вполне м.б. причиной за_Loop_ливания вашего кода - и именно об этом говорил Анатолий ( Киев ) . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 12:26 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
непоймучка, Нет список не указан в LinkMasterFields/LinkChildFields ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 13:05 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Akina, попрбовал Ваш код. Не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 13:18 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212непоймучка, Нет список не указан в LinkMasterFields/LinkChildFields 1) напишите, что там указано 2) есть ли какая-то обработка событий списка, которая затрагивает источник субформы? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 13:29 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212Akina, попрбовал Ваш код. Не помогло а так поможет? Алексей_030212 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 13:31 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
непоймучка, Круто, огромное спасибо, получилось. Правда, так и не понял - почему в подчиненной форме генерировался current. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 15:05 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Или в стеке вызовов посмотреть откуда был вызов Rivkin Dmitry, ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 21:51 |
|
Событие Current - непонятное поведение
|
|||
---|---|---|---|
#18+
Алексей_030212непоймучка, Круто, огромное спасибо, получилось. Правда, так и не понял - почему в подчиненной форме генерировался current.на здоровье, но это было не решение, а просто тест, подтверждающий, что причина зацикливания - в УЧАСТИИ вашего списка в цепочке автообновления. current в подчиненной форме дергает источник списка, а список затем, в свою очередь, дергает источник субформы, отчего там снова срабатывает current и т.д. Предложенный мной дополнительный If запретил "лишний раз" дергать список, отчего список, в свою очередь, не стал дергать субформу - и зацикливание таким образом прервалось. А вот для того чтобы разобраться, как и почему список у вас дергает субформу - для этого вопросы наводящие выше были, зря вы не ответили, но гадать не стану. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2015, 22:14 |
|
|
start [/forum/topic.php?fid=45&tid=1614106]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 392ms |
total: | 515ms |
0 / 0 |