Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.12.2015, 01:32
|
|||
---|---|---|---|
|
|||
Событие 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, 09:07
|
|||
---|---|---|---|
Событие Current - непонятное поведение |
|||
#18+
Автосрабатывающие события надо расцикливать. Ну как минимум (если потери событий не влияют на процесс) типа Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 09:35
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212, Посмотри в хелпе "Order of events for database objects". По-видимому, где-то переводится фокус на форму или она активируется и потому наступает событие Current. В принципе, можно это выявить дебаггером если пройтись пошагово (F8) после остановки программы в процедуре Current ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 11:41
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212Разместил на главной элемент управления - список. Источник строк для него формирую по событию Current подчиненной формы. Непонятность заключается в том, что событие зацикливается: хотя список на главной форме формируется как надо, что-то дергает событие обновление подчиненной формы, она обновляет список, снова ... Как связаны главная и субформа. Участвует ли в этой связке ваш список? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 12:08
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Анатолий ( Киев ), Основная форма и подчиненная - каждая на своей таблице. Связь один-много. Список ни к какому полю не привязан (свободный). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 12:26
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212Анатолий ( Киев ), Основная форма и подчиненная - каждая на своей таблице. Связь один-много. Список ни к какому полю не привязан (свободный).Список может быть свободным, но при этом - участвовать в связке субформы (т.е. имя этого списка фигурирует в свойстве LinkMasterFields контрола субформы) - и тогда это вполне м.б. причиной за_Loop_ливания вашего кода - и именно об этом говорил Анатолий ( Киев ) . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 13:05
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
непоймучка, Нет список не указан в LinkMasterFields/LinkChildFields ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 13:18
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Akina, попрбовал Ваш код. Не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 13:29
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212непоймучка, Нет список не указан в LinkMasterFields/LinkChildFields 1) напишите, что там указано 2) есть ли какая-то обработка событий списка, которая затрагивает источник субформы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 13:31
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212Akina, попрбовал Ваш код. Не помогло а так поможет? Алексей_030212 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 15:05
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
непоймучка, Круто, огромное спасибо, получилось. Правда, так и не понял - почему в подчиненной форме генерировался current. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 21:51
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Или в стеке вызовов посмотреть откуда был вызов Rivkin Dmitry, ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2015, 22:14
|
|||
---|---|---|---|
|
|||
Событие Current - непонятное поведение |
|||
#18+
Алексей_030212непоймучка, Круто, огромное спасибо, получилось. Правда, так и не понял - почему в подчиненной форме генерировался current.на здоровье, но это было не решение, а просто тест, подтверждающий, что причина зацикливания - в УЧАСТИИ вашего списка в цепочке автообновления. current в подчиненной форме дергает источник списка, а список затем, в свою очередь, дергает источник субформы, отчего там снова срабатывает current и т.д. Предложенный мной дополнительный If запретил "лишний раз" дергать список, отчего список, в свою очередь, не стал дергать субформу - и зацикливание таким образом прервалось. А вот для того чтобы разобраться, как и почему список у вас дергает субформу - для этого вопросы наводящие выше были, зря вы не ответили, но гадать не стану. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&tablet=1&tid=1614106]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 479ms |
0 / 0 |