|
|
|
Форма не закрывается по Close
|
|||
|---|---|---|---|
|
#18+
Добрый день! У меня несколько форм, которые должны вызываться по очереди или не по очереди по разным условиям. Создаю их сразу при запуске, переменные форм - глобальные. (по умолчанию). На MainForm разместил таймеры, которые запускают формы. У них interval = 100; Специально таймерами, чтобы события от Close нормально отрабатывали. Пример таймера Код: pascal 1. 2. 3. 4. 5. 6. 7. Когда какую форму надо вызвать, делаю в любой форме так: Close; MainForm.<Таймернужнойформы>.Enabled := True; И вот какой-то странный глюк, одна форма не хочет закрываться на этом тексте: в этом тексте Код: pascal 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. Вот если PollCommit вызывается из другого места (не по нажатию клавиши отмена), то форма отлично правильно закрывается (с записью в базу). Если я нажимаю BCancel в момент, когда блок ничего не должен прописать в базу, то форма тоже закрывается. Но если я нажимаю BCancel в момент, когда должна быть выполнена запись - то форма виснет открытой, сколько бы Close я не вызвал. В блоке глюков нет (наверное). вся процедура Код: pascal 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. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. Помогите, пожалуйста, не понимаю ЧЯДНТ Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 10:29 |
|
||
|
Форма не закрывается по Close
|
|||
|---|---|---|---|
|
#18+
а зачем такой геморрой с таймерами? не лучше ли сделать отдельный объект, конечный автомат, который будет по очереди запускать формы, принимать от них коды результата работы и по нему определять, какую дальше форму вызывать Ты ведь по сути Мастер (Wizard) создаёшь, только в разных окнах, а не в одном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 11:18 |
|
||
|
Форма не закрывается по Close
|
|||
|---|---|---|---|
|
#18+
Arioch, Wizard в нескольких формах (да еще и не дай бог не диалогах) - та еще угадайка. +100500 за конечный автомат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2019, 14:35 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2039640]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 511ms |

| 0 / 0 |
