|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
Попалось мне тут чужое приложение, где я нашел такую строку: Код: vbnet 1.
Она копирует дату из основной формы в субформу, работает нормально. Я не привык обращаться к субформам таким образом, впрочем и к формам тоже не люблю из-за того, что при переименовании формы все перестает работать, хотя разрабатывать удобнее. Поэтому заменил на более привычное: Код: vbnet 1.
Эта, казалось бы, незначительная замена привела к изменению работы соседнего поля с выпадающим списком, которым управляет класс быстрого поиска - он стал раскрываться когда не нужно при переходе с этого поля в нижележащую подформу, если текущая запись новая, чего никогда не было. Причем список не раскрывается, если переходить в любое другое место или запись не новая. В общем, не суть важно что именно стало происходить, там слишком сложные взаимосвязи, чтобы здесь их описывать, факт, что изменилось поведение класса, который использовался годами в десятках проектов и нареканий на неожиданное раскрытие не было никогда. Никто не сталкивался с подобным необъяснимым поведением при похожей замене способа обращения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:31 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
MrShinНикто не сталкивался с подобным необъяснимым поведением при похожей замене способа обращения?При первом обращении (приведённый пример) неявно поднимается экземпляр формы, тк обращаются к модулю класса. Форма отсутствует в коллекции открытых форм... Подобное обращение я считаю недопустимым, вот одно из последствий. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:46 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
MrShin, кстати, это отмечено в факе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:47 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
Всегда обращаюсь к формам как к классу. MrShin Код: vbnet 1.
Очень удобно и наплевать Форма она или субформа субформа/субформа. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:47 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ROIВсегда обращаюсь к формам как к классу.Очень зря. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:49 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ПанургПодобное обращение я считаю недопустимым, вот одно из последствий. Так и я считаю! Потому и исправил на правильное, а оно перестало работать. Про поднятие класса знаю, но в данном случае он не поднимается, насколько я понимаю, т.к. новой отдельной формы в виде субформы не появляется, а значение даты в субформе благополучно меняется. А с проблемами при обращении как классу я много раз встречался, поймать их довольно сложно потом, трассировать проблематично. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 08:53 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ПанургROIВсегда обращаюсь к формам как к классу.Очень зря. Да ну! Просветите меня. (без сарказма). С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:03 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ROI, Все работает замечательно, пока не начинаешь копировать формы под другим названием для создания форм с похожей функциональностью или переменовывать существующие. Чуть проглядел, не переименовал обращение к классу и начинаются чудеса в решете. Короче, это создает проблемы при дальнейшей поддержке. Я обычно для ускорения разработки пишу обращения к полям другой формы через обращения к модулю, чтобы видеть сразу список полей, а потом заменяю на другие типы, чтобы избавиться от обращений к модулям. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:21 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
MrShinА с проблемами при обращении как классу я много раз встречался, поймать их довольно сложно потом, трассировать проблематично. Да ни каких проблем. Кого поqмать их? Трассировка (если вы имели в виду по шаговую трассировку ) на ура. Вообщем ни каких проблем. Если вы много раз работали с формами как с классами должны знать, что ни каких проблем нет (если канечно не считать, что если форма не загружено и к ней есть обращение как к классу то она сагрузиться в память скрытно) но я на это не обращаю внимания так как клиент толстый. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:28 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ROIесть обращение как к классу то она сагрузиться в память скрытно) но я на это не обращаю внимания так как клиент толстый. Видимо, не активно пользуетесь классами с событиями от формы. Вот здесь чудеса и начинаются за сценой. Однажды полдня убил, пока нашел причину, с тех пор и не использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:32 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
MrShinROI, Все работает замечательно, пока не начинаешь копировать формы под другим названием для создания форм с похожей функциональностью или переменовывать существующие. Чуть проглядел, не переименовал обращение к классу и начинаются чудеса в решете. Короче, это создает проблемы при дальнейшей поддержке. Я обычно для ускорения разработки пишу обращения к полям другой формы через обращения к модулю, чтобы видеть сразу список полей, а потом заменяю на другие типы, чтобы избавиться от обращений к модулям. Дык если вы скопировали форму то имя изменилось естествено при обращении при любом нужно быть внимательней.(так что это не аргумент) >> Я обычно для ускорения разработки пишу обращения к полям другой формы через обращения к модулю, >>чтобы видеть сразу список полей, а потом заменяю на другие типы, чтобы избавиться от обращений к модулям. Дак это и есть обращение к классу (то бишь к модулю) ставте точку и вам вываляться все поля все функции и т.д. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:34 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
MrShinROIесть обращение как к классу то она сагрузиться в память скрытно) но я на это не обращаю внимания так как клиент толстый. Видимо, не активно пользуетесь классами с событиями от формы. Вот здесь чудеса и начинаются за сценой. Однажды полдня убил, пока нашел причину, с тех пор и не использую. Еще как пользую даже свои события создаю все работает. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2016, 09:35 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
Тут намеднись захотелось посмотреть как живет моя прога (в плане потребления памяти и всяких скрытых червячков) Создал процедуру для вывода списка всех загруженных форм (видимых и скрытых) И начал препарировать свое приложение. И малость опупел (внутри жило и плодилась приличное количество скрытых классов форм) Хотя приложение работает. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
Вывод: очень осторожно пользоваться обращением к форме как к классу следить за уборкой "мусора" (в ручную) вести стек вызовов Так-что начинающим не советую (каюсь был не прав ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 10:53 |
|
Влияние способа обращения к полю формы на функциональность
|
|||
---|---|---|---|
#18+
ROIвнутри жило и плодилась приличное количество скрытых классов форм Всё-таки экземпляров наверное?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 15:00 |
|
|
start [/forum/topic.php?fid=45&fpage=31&tid=1610656]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 138ms |
0 / 0 |